Общие > Веб Сервера
Повторная аутентификация
YA:
--- Цитировать ---как это почти?
--- Конец цитаты ---
IE 6.0 (которая меньше глючит :) ). Сам ничего непонимаю :( но происходит все именно так.
Попробую на конкретном примере:
- сейчас проверяю только локально на винде;
- весь кэш броузера очистил;
- во всех заголовках:
Cache-Control: Private
Pragma: no-cache;
- все страницы с мета-тэгами:
(хотя "Privat" нигде требоваться вроде и не должен);
- первичная аутентификация - никаких аномалий;
- перехожу на страницу, которая требует повторной аутентификации;
- скрипт посылает запрос на вторичную аутентификацию:
print "Cache-Control: Private\\n";
print "Pragma: no-cache\\n";
print "Status: 401\\n";
print qq|WWW-Authenticate: BASIC realm="...\\n\\n|; exit;
- броузер просит пароль;
- жму отмену;
- получаю пустую страницу;
- нажимаю "Обновить";
- и... можно работать дальше :( (теперь так ВСЕГДА, а не ИНОГДА :) )
Вот access-log, соответствующий этой сессии (мусор выкинул):
127.0.0.6 - - [16/Mar/2002:12:14:25 +0300] "GET /... HTTP/1.1" 401 956
127.0.0.6 - root [16/Mar/2002:12:14:31 +0300] "GET /... HTTP/1.1" 200 10562
# завершена первичная аутентификация
127.0.0.6 - root [16/Mar/2002:12:14:53 +0300] "GET /... HTTP/1.1" 401 5 # запрос на вторичную
# жму отмену - броузер действительно ничего не посылает
# жму обновить...
127.0.0.6 - - [16/Mar/2002:12:16:25 +0300] "GET /... HTTP/1.1" 401 956 # сервер посылет куда подальше
127.0.0.6 - root [16/Mar/2002:12:16:25 +0300] "GET /... HTTP/1.1" 200 2193 # броузер посылает второй запрос, но уже с логином и паролем из кэша
Ну и как теперь бороться с IE?
ThE0ReTiC:
--- Цитировать ---вот lynx..... =)
--- Конец цитаты ---
Это да... =)
YA:
ThE0ReTiC
Боюсь, что на IE забить все равно не удасться :)
Dm:
YA
что-то у меня есть подозрения, что у тебя не корректно выдается страничка с аутентификацией.
вот пример на php (будет работать только на php_mod):
<?php
if (!isset($PHP_AUTH_USER)) {
header("WWW-Authenticate: Basic realm=\\"My Realm\\"");
header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\\n";
exit;
} else {
echo "<p>Hello $PHP_AUTH_USER.</p>";
echo "<p>You entered $PHP_AUTH_PW as your password.</p>";
}
?>
Dm:
ThE0ReTiC & YA
да... IE vs lynx!!!! %)
Навигация
Перейти к полной версии