PHP密码恢复

seh*_*mel 10 php passwords

我意识到,为了安全起见,密码不应该以明文形式存储在数据库中.如果我将它们哈希,我可以验证它们以用于登录.

但是,如果我想建立一个密码恢复系统,那么最好的策略是什么,因为没有撤消哈希?

有人能给我一个关于存储和恢复密码的良好安全策略的简要概述吗?

Sta*_*asM 39

您无法恢复散列的密码,也不能.

你应该做的是:

  1. 对密码重置请求进行一些验证,如CAPTCHA.
  2. 创建一次性随机代码并将其链接发送到用户的电子邮件.
  3. 让这段代码在一小时后过期.
  4. 此代码一旦使用就会立即过期.
  5. 在与代码的链接上,如果验证,则允许他更改密码.
  6. 通知他密码已更改,但不要在电子邮件中发送.

  • 绝对同意100%.切勿在电子邮件中发送任何密码(即使是临时密码).当然,一次性代码和密码一样好,但你能做什么...... (2认同)

Roc*_*mat 7

你没有"恢复"密码.你做的是两件事之一.

  1. 通过电子邮件向用户发送一个链接以创建新密码,覆盖当前密码
  2. 通过电子邮件向用户发送随机生成的密码,然后让他们更改密码