Http Digest Authentication, обрабатывать различные наборы символов браузера - PullRequest
0 голосов
/ 12 февраля 2010

Я пытался использовать Http Authentication Digest Scheme с моим сайтом на основе php (модуль apache). В целом это работает нормально, но когда дело доходит до проверки имени пользователя / хэша в моей пользовательской базе данных, я сталкиваюсь с проблемой. Конечно, я не хочу хранить пароль пользователя в моей базе данных, поэтому я склонен хранить хэш-значение A1 (это md5 ($ username. ':'. $ Realm. ':'. $ Password)) в моем дб. Это так же, как браузер делает это тоже, чтобы создать хэши для отправки обратно.

Проблема:

Я не могу обнаружить, если браузер делает это в резервном ISO-8859-1 (например, Firefox, IE) или UTF-8 (Opera) или что-то еще. Я решил сделать расчет в UTF-8 и сохранить этот хэш md5. Что приводит к не аутентификации в браузерах Firefox и IE.

Как вы решаете эту проблему?

Только не использовать эту схему авторизации? Или хранить хэш md5 для каждой кодировки?

Заставить пользователей в Opera?

(Термины А1 относятся к примеру http://php.net/manual/en/features.http-auth.php.) (для дайджест-аутентификации доступа прочитайте соответствующую запись в википедии)

1 Ответ

1 голос
/ 30 марта 2010

Причиной моей проблемы была ошибка в FireFox. Просто чтобы ответить и закрыть это. Ссылка на сайт: https://bugzilla.mozilla.org/show_bug.cgi?id=546330

...