【问题标题】:How to implement a password recovery link in ASP.NET?如何在 ASP.NET 中实现密码恢复链接?
【发布时间】:2010-11-13 20:54:49
【问题描述】:

我正在寻找有关在 ASP.NET 中实施密码恢复服务的指导,该服务通过电子邮件将链接发送给用户,该链接将用户发送到密码重置页面,因为我不想以明文形式通过电子邮件发送现有或重新生成的密码。 我已经看到了一些使用成员 ID 作为查询字符串参数的建议,但是我觉得这可能会被滥用,因为我正在使用的自定义成员表使用整数而不是 guid 作为 id 字段。
我在想我需要创建一个自定义表,其中包含一个唯一(长)ID 以及每次用户请求恢复密码时填充的成员 ID。然后,此 ID 将作为查询字符串的一部分传递到密码重置页面的链接中。 当用户单击该链接时,该页面将在自定义表中查找 ID 并从那里获取成员 ID,从而允许用户根据该成员资格更改密码。
这似乎是一种有效的方法吗?是不是矫枉过正?任何其他建议将不胜感激。

【问题讨论】:

    标签: asp.net security passwords


    【解决方案1】:

    听起来非常好用。我唯一的建议是使用计算值而不是电子邮件链接的随机 ID。也许是该人用户名的散列版本?这纯粹是我对随机数的蔑视。 :)

    【讨论】:

      【解决方案2】:

      这就是我的处理方式。但是当你完成并实施某种洪水控制时,不要忘记从数据库中删除该行。我知道 guid 有大量(字面意思)组合,但运行简单的 IP 检查与过去 5 分钟内的尝试次数并在 x 次尝试后阻止它们可以帮助提高重置的安全性。如果您的用户群越大以及他们忘记密码的频率越高,这一点就会变得越重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-03
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多