Я пытался использовать 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.)
(для дайджест-аутентификации доступа прочитайте соответствующую запись в википедии)