不要做假设
如果错误或实际上是错误的,您不应该做出假设- 您也不应该通知用户确切的错误(出于安全原因。不要。)。password
username
让用户弄清楚:
用户名或密码不正确。
需要帮忙?
I forgot my username I forgot my password
你的邮件:_________________
Send me a [password/username] reset link
- 如果提交的电子邮件确实存在,请检查数据库!
(甚至不要考虑将重置链接发送到不在您的注册表中的电子邮件!)
- 电子邮件存在吗?在数据库中为该帐户创建一个重置记录,并将重置链接发送到您用户的电子邮件。
- 电子邮件不存在?谁在乎!出于安全原因,您应该显示相同的成功消息!(您不希望恶意用户玩猜谜游戏吗?由您决定。)
您应该很快会收到一封电子邮件,其中包含指向 的重置链接[theEnteredEmail]
。
没有收到任何重置电子邮件?Resend
(可选)此时不要锁定帐户。保持可访问性。如果您有一个Active Reset Record,如果用户使用“旧”数据成功访问它的配置文件,您可能希望删除它。用户可能累了或只是有点老了,他可能会记住他的帐户数据 - 并且可能不希望重置任何内容,并且可能希望忽略重置链接电子邮件。
密码尝试失败
仅当您注意到大量连续失败尝试时,宽限期锁定/保护帐户。创建该特定案例的数据库日志。
如果在您的数据库中username
存在,但密码不正确→ 向相应的用户配置文件电子邮件发送离散通知,其中包含您从日志中收集的所有数据
嗨[user]
,[day/time]
我们向您的帐户注册[n]
失败的登录尝试:
[logFile]
(n 严重性=高)我们保护/锁定了您的帐户。请点击此链接解锁您的个人资料。 [unlockProfileLink]
(n severity=low)为了使您的帐户更安全,请使用强密码(在这里您可以建议一个休息密码链接)
用户真的老了
打开他的电子邮件并点击重置链接:
- 检查推荐重置链接对该帐户是否仍然有效。
- 有效的?创建临时会话
(您应该能够从与帐户的“已打开”到期重置记录令牌相关联的引用 URL 链接识别用户帐户)
嗨[user]
,您的新 [用户名/密码]:_____________
重复 [用户名/密码]: _____________
UPDATE [username/password]
你[username/password]
的现在更新了。您很快就会收到一封确认电子邮件。
登录:
用户名:_________
密码: _________
LOGIN