这个过程就像这样。
但是在写完这篇文章之后,我想知道在发送电子邮件之前是否应该检查电子邮件地址是否与实际的会员帐户相关联。
所以这是我的问题,我应该在之前和之后进行验证,还是在他们返回网站之后?影响?
答案 0 :(得分:2)
如果password
错误或者实际上是username
,您应该不做出假设 - 您也不应该通知用户确切的错误(出于安全原因)。别)。
用户名或密码不正确。
需要帮助?
我忘记了用户名 我忘记了密码
您的电子邮件:
_________________
发送给我[密码/用户名]重置链接
您很快就会收到一封重置指向
[theEnteredEmail]
的电子邮件 没有收到任何重置电子邮件? 重发
(可选)此时不要锁定帐户。保持可访问性。如果您有活动重置记录,则可能需要在用户使用“旧”数据成功访问其配置文件时将其删除。用户可能会感到疲倦或只是有点衰老,他可能会记住他的帐户数据 - 并且可能不想重置任何内容,并且可能想要忽略重置链接电子邮件。
宽限期锁定/保护帐户仅当您发现大量连续失败尝试时才会这样做。创建该特定案例的DB日志
如果您的数据库中username
存在,但密码不正确→向相应的用户个人资料发送离散通知电子邮件包含您的所有数据从日志中收集
您好
[user]
,我们注册的[day/time]
[n]
登录尝试登录失败:[logFile]
(严重性=高) 我们保护/锁定了您的帐户。请点击此链接解锁您的个人资料。[unlockProfileLink]
(严重程度=低) 要使您的帐户更安全,请使用强密码 (此处您可以建议其他密码链接)
打开他的电子邮件,跟随重置链接:
(您应该能够识别引荐网址链接中的用户帐户,该链接与该帐户的“已打开”即将过期重置记录令牌相关联)
嗨
[user]
您的新[用户名/密码]:_____________
重复[用户名/密码]:_____________
更新[用户名/密码]
如果引荐来源与帐户关联的临时重置记录(令牌)匹配,则更改密码/或/用户名。
成功? 用户仍必须从登录页面正确登录!
您的
[username/password]
现已更新。您很快就会收到一封确认电子邮件。
<子> <强> 登录 强>:子>
用户名:_________
密码:_________
登录
答案 1 :(得分:0)
编辑: 如果您不是电子邮件帐户提供商:
在发送电子邮件之前,您应该确定电子邮件地址是否有效。您发送的令牌也应始终与实际帐户相关联。否则,您可以更改任何帐户的密码。所以我的建议是:
如果您充当电子邮件帐户提供商,您可以将令牌发送给用户在注册其帐户时告知您的第二个电子邮件地址。更好的解决方案是通过短信或邮件向他发送令牌。