我阅读了关于 SO 的其他密码恢复问题,似乎大多数人考虑发送一个只能使用一次并在几天后过期的密码恢复链接,以确保最安全。
现在我的问题,(我知道这是主观的,但我正在寻找您可能从用户那里收到的输入)
这对用户来说也很舒服吗?用户我指的是你的祖母而不是你的同事。
我阅读了关于 SO 的其他密码恢复问题,似乎大多数人考虑发送一个只能使用一次并在几天后过期的密码恢复链接,以确保最安全。
现在我的问题,(我知道这是主观的,但我正在寻找您可能从用户那里收到的输入)
这对用户来说也很舒服吗?用户我指的是你的祖母而不是你的同事。
作为用户,我喜欢选择自己选择的新密码,然后将激活邮件发送给我,提供可点击的链接以使新密码生效。
我不喜欢向我发送一个新的一次性密码,让我登录并在我的个人资料中编辑它。
不过,最棒的是拥有 OpenID 登录,因此我根本不需要保留任何密码。
还有什么比点击激活链接并输入新密码更简单的呢?
在访问控制、可用性或安全性方面,您的网站的重点是什么?
如果它的可用性,那么也许以纯文本形式存储密码并允许它们根据请求发送到注册的电子邮件地址就足够了,并且可能比更安全的替代方案更有用。
如果安全是答案,那么陷门编码和密码重置是更好的选择。
根据经验,我建议如下:
尽管从纯粹的可用性角度来看,这可能并不理想(在理想的世界中,您一开始就不必拥有密码,让我们面对现实吧),但它确实会尝试确保您使用的是合法密码重启。
或者(或者实际上结合上述内容),您可以允许用户存储一个简单的密码提醒文本字符串,该字符串也出现在第一封出站电子邮件中。(如果他们在这个阶段意识到密码是什么,他们可以简单地输入密码,而不必执行重置。)但是我不建议在网站本身上输出它,因为它可能是一个太强的线索。
从可用性的角度?如果连续 3 次登录失败,假设他们合法地忘记了密码,无论如何让他们进入并提示更改密码。
我见过的用于低安全性帐户的最佳系统之一是邮寄链接。用户无需记住站点 URL、用户名或密码。该网站不了解用户在管理密码方面的任何弱点。