我正在尝试通过发送重置密码的链接来找到忘记密码功能的最佳做法,即向注册用户发送带有一次性令牌的电子邮件。令牌将存储在数据库中,当用户单击链接时,我们会检查令牌并允许用户设置新密码。
设计忘记密码功能时的最佳做法 -
复位链接最好应短,以避免出现问题 电子邮件客户端,仅包含安全字符0-9 A-Z a-z (base62编码)
令牌的到期时间应在一位数小时内。
在用户拥有之后,应将令牌标记为已使用 成功设置了新密码。
当用户更改密码或请求其他密码时 重置,使与其帐户关联的所有令牌失效。
这些是我发现的一些观点。可以考虑的其他安全问题是什么?
答案 0 :(得分:1)
我见过的其他一些做法:
还应该注意的是,最好的做法通常是使用已建立的库而不是发明自己的机制,因为有太多事情可以被忽视。
答案 1 :(得分:0)
我有同样的问题并找到OWASP Forgot Password Cheat Sheet。 还有一些我想补充的内容: