2010-02-12 3 views
0

J'ai essayé d'utiliser le schéma Http Authentication Digest avec mon site Web basé sur php (module apache). En général, cela fonctionne très bien, mais quand il s'agit de vérifier le nom d'utilisateur/hachage contre ma base de données utilisateur, je rencontre un problème. Bien sûr, je ne veux pas stocker le mot de passe de l'utilisateur dans ma base de données, donc j'ai tendance à stocker la hashvalue A1 (qui est md5 ($ username. ':'. $ Realm. ':'. $ Mot de passe)) mon db. Voici comment le navigateur le fait aussi pour créer les hashs à renvoyer.Http Digest Authentification, gérer des chartes de navigateur différents

Le problème:

Je ne suis pas en mesure de détecter si le navigateur le fait en fallback ISO-8859-1 (comme Firefox, IE) ou UTF-8 (Opera) ou autre. J'ai choisi de faire le calcul en UTF-8 et de stocker ce hash md5. Ce qui conduit à la non-authentification dans les navigateurs Firefox et IE.

Comment résolvez-vous ce problème?

N'utilisez simplement pas ce schéma d'autorisation? Ou Stockez un hachage MD5 pour chaque jeu de caractères?

Forcer les utilisateurs à Opera?

(Conditions d'A1 font référence au http://php.net/manual/en/features.http-auth.php exemple.) (pour l'authentification d'accès digest lire l'entrée de wikipedia selon)

Répondre

Questions connexes