asp.net-mvc - ASP.NET MVC 中密码重置的最佳实践

标签 asp.net-mvc forgot-password

我想模拟来自 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/

相关文章:

c# - ASP.NET-MVC 项目中的 ADO.NET 数据服务

asp.net-mvc - 带有ASP.NET Web API后端的AngularJS SPA

jquery - 如何在 asp.net mvc 3 razor 中添加新项目后刷新表

javascript - 忘记密码 UI 在 laravel 中无法正常工作

c# - 用asp.net 5 应用程序部署源代码有什么好处?

c# - 使用初始化器访问对象的属性

security - 最好的 "forgot my password"方法是什么?

ruby-on-rails - 为登录用户设计忘记密码

security - 为什么质询-响应方法是忘记密码的糟糕解决方案?

c# - ASP.NET Membership Provider - 重置密码功能 - 电子邮件确认和密码更改