2010-06-25 18 views
3

我正在尋找模擬來自www.live.com的密碼重置流程。這是(跳到電子郵件選項現在):在ASP.NET MVC中密碼重置的最佳實踐

1)屏幕,詢問/確認用戶名

2)要求復位方法(帳戶驗證或電子郵件重置)

3)收集帳戶信息並進行驗證

4)當前用戶密碼重置輸入。

所以我一直在尋找關於如何以正確的方式做到這一點的任何提示。我計劃讓每個「步驟」回到相同的行動,並隨着我的建立模型(根據我所處的步驟將屬性/字段置於隱藏輸入或常規輸入中)。然後在第4步中,我會重新驗證帳戶信息(以防有人試圖破解並直接發佈用戶名和新密碼)。

這將全部通過SSL完成,唯一的缺點是我可以看到的是,對於第4步,我將在隱藏輸入中呈現用戶的祕密問題答案,以便在完成之前再次提交/驗證它重設密碼。

這是實施此屏幕的正確方法,還是有一些安全漏洞我沒有看到?

回答

2

我不是這方面的專家,但我喜歡this的想法相關的問題。在步驟4中使用散列來標識用戶,而不是通過往返發送他們的祕密答案。