我们的一位客户抱怨使用明文密码恢复登录密码。我所知道的唯一解决办法是在查询字符串中使用加密的用户名和密码自动登录。
还有哪些其他选项可以提高密码恢复的安全性?
谢谢。
发布于 2012-02-16 06:06:41
您可以向他们发送一个URL,让他们自己重置密码。
您可以创建一个数据库表,该表至少存储一个用户id和一个散列值。
向用户发送一个包含散列的链接,然后在接收页上查找相关信息,并允许用户重置帐户的密码。我希望你把它作为哈希值存储在数据库中。不应存储或发送明文密码。
只需确保该链接要么过期,要么在密码更改后停用。否则,有人可以随时访问该链接并更改密码。
发布于 2012-02-16 06:17:40
按照Brandon的优秀答案,下面是我们要做的:
使用有时间限制的令牌是一个好主意,因为如果用户的电子邮件帐户后来被攻破,犯罪分子就不能使用电子邮件来重置密码--当然,前提是电子邮件帐户在密码重置请求后2小时内没有被攻破。
发布于 2012-02-16 06:07:24
我不会以纯文本形式将帐户的实际密码发送到用户的电子邮件地址。这样做的原因是,如果有人现在黑了用户的电子邮件地址,他们就有了他们的实际密码。此密码很可能也将用于其他系统。
另一种方法是发送链接到该用户的加密查询字符串,并允许他们根据特定于该用户的某种安全问题或人口统计信息更改其密码。
Facebook使用了一种将好友图像与名字进行匹配的方法。如果你有他们的道布和地址,你可以用那个(不是那么安全)。或者您可以设置特定的安全问题和答案,这样会更好。
https://stackoverflow.com/questions/9302128
复制相似问题