2013-05-17 116 views
0

我正在ASP.Net MVC 2 Web應用程序中實現重置/忘記密碼功能。ASP MVC 2忘記密碼

我讀了一些關於這裏的職位,基本上給予下列步驟操作:

  • 用戶點擊「重置」的密碼。
  • 要求用戶發送電子郵件。
  • 用戶輸入電子郵件並點擊發送。
  • 您在PasswordReset表中創建一個安全散列(可以使用RNGCryptoServiceProvider)
  • 商店哈希,用戶信息(電子郵件地址是唯一的,所以我可以存儲用戶的ID ??這是正確的?)和日期時間信息(對於到期)
  • 將散列鏈接作爲參數發送到指定的電子郵件地址。
  • 我想在不使用安全問題的情況下完成此操作。

    * 我的問題是驗證過程一旦鏈接被用戶點擊。我只需在PasswordReset表中查找散列和電子郵件地址?如果用戶電子郵件帳戶被黑客攻擊然後黑客只需點擊鏈接並將密碼重置爲任何內容即可。我錯過了如何在驗證過程中集成必要的安全檢查。 *

    回答

    0

    您可以將安全問題添加到「重置」過程。

    我不確定一般共識在下面的鏈接上是什麼,但那裏的步驟似乎是合適的。 https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet

    +0

    我想這樣做,而不使用安全問題 – user327999

    +0

    道歉,我錯過了我第一次閱讀。 您可以使用雙因素身份驗證作爲登錄和重置過程的一部分。除此之外,我不確定如何確保用戶實際上是該帳戶所屬的用戶。 – OverForkOver