0

PHP (Apache モジュール) ベースの Web サイトで HTTP 認証ダイジェスト スキームを使用しようとしました。一般的には問題なく動作しますが、ユーザー データベースに対するユーザー名/ハッシュの検証に関しては、問題が発生します。もちろん、ユーザーのパスワードをデータベースに保存したくないので、A1 ハッシュ値 (md5($username . ':' . $realm . ':' . $password)) を保存する傾向があります。デシベル。これは、ブラウザーが送信するハッシュを作成する方法でもあります。

問題:

ブラウザがこれを ISO-8859-1 フォールバック (firefox、IE など) または UTF-8 (Opera) などで行うかどうかを検出できません。UTF-8 で計算を行い、この md5 ハッシュを保存することにしました。これにより、Firefox および IE ブラウザーで認証が行われなくなります。

この問題をどのように解決しますか?

このauth-schemeを使用しないでください。または、文字セットごとに md5 ハッシュを保存しますか?

ユーザーに Opera を強制しますか?

(A1 の条件は、http://php.net/manual/en/features.http-auth.phpの例を参照してください。) (ダイジェスト アクセス認証については、対応するウィキペディアのエントリをお読みください)

4

1 に答える 1

1

私の問題の理由はFireFoxのバグでした。これに答えて閉じるだけです。リンク: https ://bugzilla.mozilla.org/show_bug.cgi?id = 546330

于 2010-03-30T10:29:15.977 に答える