Общие > Веб Сервера
Повторная аутентификация
YA:
Dm
Поспорили как-то php-маньяк и perl-извращенец :)
(я на Perl пишу)
А почему HTTP/1.0, а не HTTP/1.1 и что такое "isset"?
$PHP_AUTH_USER - если я правильно понял, то же, что и $ENV{\'REMOTE_USER\'}. Так вот он у меня всегда определен (броузер, зараза, посылает - см. выше)
Dm:
алгоритм такой:
смотрим, броузер передал $PHP_AUTH_USER (имя пользователя)?
если да - пишем приветствие.
если нет - скрипт выдает 401 статус.
не важно, php или perl, главное, чтобы сервер броузеру выдал:
HTTP/1.1 401 Authorization Required
Date: Sat, 16 Mar 2002 15:44:44 GMT
Server: Apache/1.3.20
WWW-Authenticate: Basic realm="My Realm" Connection: close Content-Type: text/html
Text to send if user hits Cancel button
(этот пример взят из рабочей системы)
имхо, не должно быть пустой странички.
Dm:
PS. проверь, хоть telnet\'ом, что выдает веб-сервер.
YA:
Да, то что сервер выдает именно это, я уверен.
А поймать ответ никак не могу: telnet закрыт.
Скачал вот для этого Iris 3.7, но никак не могу с ней справиться.
По поводу пустой страницы: не в ней дело. Если после этого заголовка я что-то пишу, то, разумеется, получаю не пустую страницу. НО, обновив эту страницу, попадаю на ту, которая была запрошена перед повторной аутентификацией.
А по логам совершенно четко видно, что броузер 2 раза посылает запрос и второй раз берет пароль из кэша! - вот с чем надо бороться.
Dm:
YA
имел в виду, просто и банально эмулировать броузер, послать запрос серверу, что-то типа: "GET / HTTP/1.0\\nHost: yourhost.com\\n\\n"
и посмотреть, что он вернет.
Навигация
Перейти к полной версии