Я попытался использовать схему Http Authentication Digest Scheme с моим веб-сайтом на основе php (модуль apache). В общем, он работает нормально, но когда дело доходит до проверки имени пользователя / хэша в моей пользовательской базе данных, я сталкиваюсь с проблемой. Конечно, я не хочу хранить пароль пользователя в своей базе данных, поэтому я стараюсь хранить хэш-значение A1 (которое является md5 ($ username. ':'. $ Realm. ':'. $ Password)) в моем дб. Именно так делает и браузер, создавая хэши для отправки обратно.
Проблема:
Я не могу определить, делает ли браузер это в резервном режиме ISO-8859-1 (например, firefox, IE) или UTF-8 (Opera) или что-то еще. Я решил выполнять вычисления в кодировке UTF-8 и хранить этот хеш-код md5. Это приводит к отсутствию аутентификации в браузерах Firefox и IE.
Как решить эту проблему?
Только не использовать эту auth-схему? Или хранить хеш md5 для каждой кодировки?
Заставить пользователей оперу?
(Условия A1 относятся к http://php.net/manual/en/features.http-auth.php, пример.) (для проверки подлинности доступа к дайджесту прочтите соответствующую запись в Википедии)