【发布时间】:2010-12-15 07:46:18
【问题描述】:
我正在使用具有 ASP.NET 成员资格的 ASP.NET MVC。
按照best practices 的“我忘记了密码逻辑”,我想做以下事情:
- 向用户发送一封电子邮件,其中包含指向唯一隐藏 URL 的链接,允许他更改密码
- 要求密码重置不会重置密码。您需要唯一的链接。
我正在寻找有关生成此 URL 的最佳方法的建议,使其仅暂时有效,然后对其进行验证。我认为 ASP.NET 会员标准的方式是有一个“安全问题”,这实际上是一个lousy way 这样做。
生成和验证此类链接的最佳方式是什么。我应该只生成一个 GUID 并将其放在用户的配置文件中吗?我不认为有任何其他预建的权利?
【问题讨论】:
-
我不相信 ASP.NET Membership 中没有内置任何东西会生成一个临时 url 来重置密码。为什么你认为安全问题是一个“糟糕”的选择?它比将链接发送到收件箱更简单,而且可以说更安全......这可能永远不会到达预期的收件人。
-
因为比起访问他们的电子邮件,我更有可能猜出某人的宠物名字。显然,即使是莎拉佩林也遇到了这个问题。
标签: asp.net asp.net-membership