Общие > Веб Сервера
Повторная аутентификация
Dm:
YA
если что, продолжение "банкета" в привате по мылу (dmq@mailru.com) или по асе (76555967) ;)
Oak:
Тогда единственный вариант.
1) в реалм добавить "допишите вперед своим login еще один символ @"
2) проверять, изменилось ли количество "@" :)
если нет - слать нафиг
Или оно даже не спросит пароля ?
Dm:
Oak
IE - это не NN, который понимает все с полуслова ;)
бесполезно.
проще все на сессиях сделать.
YA:
--- Цитировать ---Или оно даже не спросит пароля ?
--- Конец цитаты ---
Пароль-то спросит, только Apache пошлет нафиг еще раньше (до того, как программа проверит, изменилось ли количество \'@\'). Вот если одновременно с этим действительно менять логин (на время)... Это я и попробовал сделать. И, о чудо - все работает! Oak, спасибо за идею! Но, все по порядку...
Пока я проверял, обнаружил еще один "недокументированный глюк" :) народного броузера. Схема такая (читать внимательно!):
1) успешная авторизация (логин1, пароль);
2) ...
3) посылаю 401 и одновременно меняю логин1 на логин2;
4) успешно авторизуюсь (логин2, пароль);
5) при следующем запросе меняю обратно временный логин2 на логин1;
6) все следующие запросы выглядят так:
--- броузер с запросом посылает из кэша пароль и логин2;
--- авторизуюсь (логин1, пароль).
Т.е. после этого, сколько бы я раз успешно не авторизовался с логином1, броузер все равно сначала посылает серверу логин2, а затем запрашивает логин и пароль у меня (при каждом запросе!!!).
В общем, я долго смеялся, когда изучил логи апача.
А выход очень простой: сразу после успешной авторизации с временным логином2 надо не только заменить его на логин1, но и еще раз послать 401. Две авторизации подряд - совсем не страшно, особенно если снабдить их соответствующими "realm". Остается только один подводный камень: в случае несанкционированного доступа, повторная авторизация выполнит свою функцию, но логин окажется измененным. Соответственно при следующей авторизации валидный пользователь должен быть предупрежден о такой возможности (realm типа "если не получается добавь такой-то символ").
PS. Dm, Oak, при случае, с меня пиво! ;)
Dm:
YA
у... что-то как-то несколько запутано и сложно, но если работает :)
главное результат! :)
--- Цитировать ---PS. Dm, Oak, при случае, с меня пиво!
--- Конец цитаты ---
думаю, как-нибудь встретимся, пати устроим. ;)
Навигация
Перейти к полной версии