【发布时间】:2015-09-23 22:12:53
【问题描述】:
哪种策略最适合恢复密码。 通过电子邮件向用户发送一个链接以创建新密码,覆盖当前密码?或者 通过电子邮件向用户发送一个随机生成的密码,然后要求他们更改?
【问题讨论】:
-
基本上没关系。但我建议使链接或临时密码仅在短时间内有效。不过,这两种方式都不安全。如果注册的电子邮件被黑客入侵,他们将获得完全访问权限。我建议使用一个秘密问题的组合,并要求他们自己填写他们的电子邮件地址以发送它或其他东西。最后它仍然存在安全漏洞。但至少你可以尽可能地关闭它们。
-
生成一个随机令牌并将其哈希存储在数据库中是要走的路。由于它不是从其他参数派生的,因此无法猜测,并且由于仅存储其哈希值,因此即使数据库泄漏也无法伪造。我试图在answer 中解释必要的步骤。