首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >明文密码与自动登录

明文密码与自动登录
EN

Stack Overflow用户
提问于 2012-02-16 05:59:51
回答 3查看 269关注 0票数 0

我们的一位客户抱怨使用明文密码恢复登录密码。我所知道的唯一解决办法是在查询字符串中使用加密的用户名和密码自动登录。

还有哪些其他选项可以提高密码恢复的安全性?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-02-16 06:06:41

您可以向他们发送一个URL,让他们自己重置密码。

您可以创建一个数据库表,该表至少存储一个用户id和一个散列值。

向用户发送一个包含散列的链接,然后在接收页上查找相关信息,并允许用户重置帐户的密码。我希望你把它作为哈希值存储在数据库中。不应存储或发送明文密码。

只需确保该链接要么过期,要么在密码更改后停用。否则,有人可以随时访问该链接并更改密码。

票数 2
EN

Stack Overflow用户

发布于 2012-02-16 06:17:40

按照Brandon的优秀答案,下面是我们要做的:

  1. 不以纯文本形式存储密码,甚至不以可解密的值存储密码。始终使用单向哈希算法存储密码。这意味着只有用户才能知道明文密码是什么。
  2. 当用户忘记密码时,向他们提供一个表单,在表单中输入他们的电子邮件地址,然后单击提交。
  3. 当他们提交他们的电子邮件地址时,创建一个包含两个主要部分的表行:第一个是密码重置令牌(我们使用Guid实现这一点)。令牌应该有时间戳,这样你就知道它是什么时候创建的,什么时候到期(我们的在提交后2小时内到期)。第二部分是密码,用户需要输入密码才能重置密码。
  4. 会向用户发送一封电子邮件,其中包含一个接受令牌和密码的页面的链接。当他们单击链接(或访问页面并手动输入代码)时,您可以向他们显示一个页面,允许他们在不知道以前的值的情况下更改其密码。

使用有时间限制的令牌是一个好主意,因为如果用户的电子邮件帐户后来被攻破,犯罪分子就不能使用电子邮件来重置密码--当然,前提是电子邮件帐户在密码重置请求后2小时内没有被攻破。

票数 1
EN

Stack Overflow用户

发布于 2012-02-16 06:07:24

我不会以纯文本形式将帐户的实际密码发送到用户的电子邮件地址。这样做的原因是,如果有人现在黑了用户的电子邮件地址,他们就有了他们的实际密码。此密码很可能也将用于其他系统。

另一种方法是发送链接到该用户的加密查询字符串,并允许他们根据特定于该用户的某种安全问题或人口统计信息更改其密码。

Facebook使用了一种将好友图像与名字进行匹配的方法。如果你有他们的道布和地址,你可以用那个(不是那么安全)。或者您可以设置特定的安全问题和答案,这样会更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9302128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档