我想模拟来自 www.live.com 的密码重置流程。那是(现在跳过电子邮件选项):
1) 屏幕询问/确认用户名
2)询问重置方法(账户验证或邮箱重置)
3) 收集账户信息并验证
4) 向用户提供密码重置输入。
所以我一直在寻找有关如何正确执行此操作的任何提示。我计划让每个“步骤”回发到相同的操作并在我进行时构建模型(根据我正在进行的步骤将属性/字段放入隐藏输入或常规输入)。然后在第 4 步,我会重新验证帐户信息(以防万一有人试图破解并直接发布步骤以使用用户名和新密码)。
这一切都将通过 SSL 完成,我能看到的唯一缺点是对于第 4 步,我将在隐藏输入中呈现用户的“ secret 问题答案”,以便可以在完成密码之前再次提交/验证重置。
这是实现此屏幕的正确方法还是存在一些我没有看到的安全漏洞?
最佳答案
我不是这方面的专家,但我喜欢 this 中的想法相关问题。在第 4 步中使用散列来识别用户,而不是通过往返发送他们的 secret 答案。
关于asp.net-mvc - ASP.NET MVC 中密码重置的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121275/