2012-02-06 177 views
0

可能重複:
What is the best 「forgot my password」 method?PHP忘記的密碼方法

閱讀不同遺忘密碼請求技術後,我決定去與他們可以通過電子郵件發送用戶的鏈接去改變他們的密碼。我的問題是做這件事的最好方法是什麼?這是我目前的方法:

  1. 詢問用戶他們的電子郵件
  2. 向他們發送一個鏈接到一個newpassword.php頁面隨機生成的長字母數字代碼作爲參數。
  3. 散列該代碼並將其存儲在一個包含電子郵件地址和時間戳的mysql表中
  4. 當用戶轉到鏈接時,系統會再次詢問他們的電子郵件。
  5. 在表格中搜索該電子郵件。如果時間戳超過24小時,它將被刪除,並且用戶必須請求另一個鏈接。
  6. 檢查代碼是否匹配。如果是這樣,讓用戶重置密碼。
  7. 更改用戶表中的密碼併發送另一封電子郵件以確認它已更改。

我是新來的網站安全,但我還沒有找到許多算法的例子,讓用戶重置一個被遺忘的密碼(除了簡單地創建一個新的併發送給他們,這似乎相當弱對我來說)。我的方法有沒有安全漏洞?任何人都知道我可以查看的任何優秀指南?提前致謝!

回答