2010-02-12 17 views
0

我試圖使用Http身份驗證摘要計劃與我的PHP(apache模塊)基於網站。一般來說,它工作正常,但當涉及到我的用戶數據庫驗證用戶名/散列時,我遇到了問題。 當然,我不想將用戶的密碼存儲在我的數據庫中,所以我傾向於存儲A1散列值(它是md5($ username。':'。$ realm。':'。$ password))in我的分貝。 這僅僅是瀏覽器如何創建哈希來發送回來的。Http摘要身份驗證,處理不同的瀏覽器字符集

問題:

我不能夠檢測如果瀏覽器確實這ISO-8859-1回退(如Firefox,IE)或UTF-8(歌劇)或什麼的。我選擇用UTF-8做計算並存儲這個md5散列。這導致在Firefox和IE瀏覽器中無法進行身份驗證。

你如何解決這個問題?

只是不使用此認證計劃?或者爲每個字符集存儲一個md5哈希值?

強制用戶使用Opera?

(A1條款的參考http://php.net/manual/en/features.http-auth.php例子。) (用於HTTP摘要認證讀取根據維基百科條目)

回答