Вопрос

Я заметил, что однажды Firefox выдает модальное сообщение в ответ на заголовок WWW-Authenticate в HTTP-ответе.Затем Firefox сохраняет имя пользователя / пароль до тех пор, пока Firefox не будет закрыт.Тот Самый Веб-разработчик подключаемый модуль позволяет людям, ориентированным на разработчиков, выйти из системы.Но какое HTTP-сообщение должно быть отправлено браузеру, чтобы потерять эти кэшированные учетные данные?

Это было полезно?

Решение 2

Я нашел разумный обходной путь.Это немного сложно, но работает очень хорошо.Я создал таблицу с полем GUID.Все начиналось без каких-либо записей.Вот решение:

  1. Пользователь нажимает кнопку "Выйти из системы".
  2. Сценарий выхода из системы добавляет GUID в новую таблицу.
  3. Сценарий выхода из системы перенаправляет пользователя на URL-адрес, содержащий GUID в качестве параметра.
  4. Когда пользователь переходит по URL-адресу с GUID в качестве параметра, система выполняет поиск GUID в таблице.
    1. Если GUID есть в таблице, удалите запись с GUID и укажите неверный код ответа на имя пользователя / пароль (даже если учетные данные в порядке).
    2. Если GUID отсутствует в таблице, проверьте учетные данные.

Хакеры могут быстро раздуть эту новую таблицу, поэтому убедитесь, что у каждого пользователя может быть только одна запись в таблице.Вы также могли бы использовать временные метки и выполнять пакетное задание для периодической обрезки таблицы.

Другие советы

Боюсь, нет способа корректно отправить браузеру приказ прекратить сохранение (и отправку в каждом http-запросе на ваш сервер) учетных данных, которые вы восстановили в начале навигации пользователя (через ответ http 401).

Firefox очистит свой кэшированный WWW-auth UN / PW с помощью 403 Forbidden.

Chrome очистится с помощью 403 Forbidden или 401 Not Authorized.

Safari всегда подскажет вам, хотите ли вы кэшировать данные или нет.

IE - это какашки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top