URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3731
[ Назад ]

Исходное сообщение
"Окно для авторизации"

Отправлено Friker , 15-Дек-04 16:50 
Если подправить конфиг апача на доступ к папкам по  паролю , при входе в эту папку появляется окошко для логина  и пароль.
Реально ли через перл реализовать это окошко , что бы я пароль передавай не через форму запроса к серверу, а через это окошка, если да -то как???

Содержание

Сообщения в этом обсуждении
"Окно для авторизации"
Отправлено XMan , 15-Дек-04 19:19 
В каждый скрипт впихивать свою поддержку сесии и как минимум в один скрипт впихнуть поддержку авторизации - он будет выдавать HTML-форму для ввода логина и пароля.

"Это окошко" формируется сервером и сессия поддерживается самим сервером. Фактически, тебе нужно сделать аналог этой поддержки. Например, через куки.


"Окно для авторизации"
Отправлено friker , 15-Дек-04 23:33 
>В каждый скрипт впихивать свою поддержку сесии и как минимум в один
>скрипт впихнуть поддержку авторизации - он будет выдавать HTML-форму для ввода
>логина и пароля.
>
>"Это окошко" формируется сервером и сессия поддерживается самим сервером. Фактически, тебе нужно
>сделать аналог этой поддержки. Например, через куки.


Меня не столько интересует сессия , а само окно для передачи данных!
Если есть функции вызова этого окошка и передачи скрипту данных введёных в него, то какие они???


"Окно для авторизации"
Отправлено XMan , 16-Дек-04 01:21 
Насколько мне известно - никаких. Это сессия web-сервера, он обрабатывает всё, что приходит из этого окошка. Внешний вид и функциональность самого окошка определяется в реализации конкретного web-клиента. Скрипт через переменную окружения может узнать логин, но не пароль.

Для создания своего окошка можно попробовать посмотреть на JavaScript, а может и Java, но тогда сессию прийдется держать самому.


"Окно для авторизации"
Отправлено Simps , 17-Дек-04 11:29 
>>В каждый скрипт впихивать свою поддержку сесии и как минимум в один
>>скрипт впихнуть поддержку авторизации - он будет выдавать HTML-форму для ввода
>>логина и пароля.
>>
>>"Это окошко" формируется сервером и сессия поддерживается самим сервером. Фактически, тебе нужно
>>сделать аналог этой поддержки. Например, через куки.
>
>
>Меня не столько интересует сессия , а само окно для передачи данных!
>
>Если есть функции вызова этого окошка и передачи скрипту данных введёных в
>него, то какие они???

Если ты не хочешь программировать свое окно а просто сам вызвать такое же, то тебе нужно послать правильные хедеры браузеру ... Исчите в гугле, гугль рулез =)
http://www.opennet.me/base/dev/cgi_auth_401.txt.html


"Окно для авторизации"
Отправлено dev , 16-Дек-04 18:22 
>Если подправить конфиг апача на доступ к папкам по  паролю ,
>при входе в эту папку появляется окошко для логина  и
>пароль.
>Реально ли через перл реализовать это окошко , что бы я пароль
>передавай не через форму запроса к серверу, а через это окошка,
>если да -то как???

На перле это реализовать реально, а вот реально ли это сделать вместе с Апачем - другой вопрос :)

Общая теория:
1. Юзер вызывает нужную страничку.
2. Ему отсылается вместо этого код 401 и всякая фигня в качестве тела.
3. В ответ на это браузер показывает искомое окошко для пароля.
4. Первоначальный запрос посылается еще раз, но уже с указанием имени и пароля.

В случае с Апачем здесь одна проблема - он не отдаст твоему скрипту пароль, только имя.
Ну и заголовки ответа и код возврата надо контролировать.


"Окно для авторизации"
Отправлено ACCA , 19-Дек-04 10:07 
>Реально ли через перл реализовать это окошко , что бы я пароль

Задавай вопрос правильно. Окошко реализуется в browser, а ты хочешь написать обработчик HTTP-запроса на сервере.


>передавай не через форму запроса к серверу, а через это окошка,
>если да -то как???

1. Ставишь mod_perl и Apache.pm.
2. man Apache и читаешь, чё как.
3. Пишешь свой модуль авторизации, MyAuth.pm. В нём должна быть функция
   "handler" с единственным параметром $r типа Apache::Request, в ней
   смотришь $r->connection->user, $r->get_basic_auth_pw и принимаешь
   решение.
4. Вставляешь в .htaccess:

   PerlModule MyAuth
   PerlHandler Apache::Registry
   PerlAuthenHandler MyAuth
   AuthName "My cool site"
   AuthType Basic
   Require valid-user