0

可能重复:
最好的“忘记密码”方法是什么?

在阅读了不同的忘记密码请求技术之后,我决定通过电子邮件向用户发送一个链接,他们可以在其中更改密码。我的问题是最好的方法是什么?这是我目前的方法:

  1. 向用户询问他们的电子邮件
  2. 向他们发送一个指向 newpassword.php 页面的链接,其中包含随机生成的长字母数字代码作为参数。
  3. 散列该代码并将其与电子邮件地址和时间戳一起存储在 mysql 表中
  4. 当用户访问该链接时,系统会再次要求他们提供电子邮件。
  5. 在表格中搜索该电子邮件。如果时间戳超过 24 小时,它将被删除,用户必须请求另一个链接。
  6. 检查代码是否匹配。如果是这样,让用户重置密码。
  7. 更改用户表中的密码并发送另一封电子邮件以确认已更改。

我是网站安全的新手,但我没有找到很多让用户重置忘记密码的算法示例(除了简单地创建一个新密码并将其发送给他们,这对我来说似乎相当弱)。我的方法中是否存在任何安全漏洞?有人知道我可以查看的任何好的指南吗?提前致谢!

4

1 回答 1

0

我会把你推荐给一个非常相似的帖子。我的回答在那里被接受了,我真的不想重写整个事情......

寻找一些好的选项来向用户发送重置密码电子邮件

于 2012-02-06T21:39:15.213 回答