ASP.NET MVC中密码重置的最佳实践

时间:2010-06-25 20:36:43

标签: asp.net-mvc forgot-password

我希望从www.live.com模拟密码重置流程。那就是(暂时跳过电子邮件选项):

1)屏幕询问/确认用户名

2)询问重置方法(帐户验证或电子邮件重置)

3)收集帐户信息并进行验证

4)向用户显示密码重置输入。

因此,我正在寻找有关如何以正确方式执行此操作的任何提示。我计划让每个“步骤”帖子回到同一个动作并按照我的方式构建模型(根据我所使用的步骤将属性/字段放入隐藏的输入或常规输入)。然后在第4步,我将重新验证帐户信息(以防有人试图破解并直接发布到用户名和新密码的步骤)。

这一切都将通过SSL完成,我唯一可以看到的缺点是,对于第4步,我将在隐藏的输入中呈现用户的“秘密问题答案”,以便在完成密码之前再次提交/验证重启。

这是实现此屏幕的正确方法还是有一些我没有看到的安全漏洞?

1 个答案:

答案 0 :(得分:2)

我不是这方面的专家,但我喜欢this相关问题中的想法。在步骤4中使用哈希来识别用户,而不是通过往返发送他们的秘密答案。