Php 创建重置密码链接的最佳做法是什么?
我在网站上有用户,他们的密码被加密(md5)并存储在数据库中。现在,我有他们的电子邮件,如果有人忘记了他的密码,我想给他发送一个链接来重置密码 任何人都可以就如何做到这一点提出建议?哪些是最佳实践Php 创建重置密码链接的最佳做法是什么?,php,passwords,forgot-password,change-password,Php,Passwords,Forgot Password,Change Password,我在网站上有用户,他们的密码被加密(md5)并存储在数据库中。现在,我有他们的电子邮件,如果有人忘记了他的密码,我想给他发送一个链接来重置密码 任何人都可以就如何做到这一点提出建议?哪些是最佳实践 在这方面,Zoran在数据库中弹出一列,该列相当独特,是随机生成的令牌字符串(相当长)。当用户请求重置密码时,通过电子邮件向他们发送该令牌以进行验证。通过链接(aka GET)返回该令牌将确认用户有权访问电子邮件地址,并允许他们重置密码。在数据库中弹出一列,该列相当独特,是随机生成的令牌字符串(相当长
在这方面,Zoran在数据库中弹出一列,该列相当独特,是随机生成的令牌字符串(相当长)。当用户请求重置密码时,通过电子邮件向他们发送该令牌以进行验证。通过链接(aka GET)返回该令牌将确认用户有权访问电子邮件地址,并允许他们重置密码。在数据库中弹出一列,该列相当独特,是随机生成的令牌字符串(相当长)。当用户请求重置密码时,通过电子邮件向他们发送该令牌以进行验证。通过链接(也称为GET)返回该令牌将确认用户有权访问电子邮件地址,并在此时允许他们重置密码。您应该使用
mail()
发送电子邮件,并向db添加哈希随机字符串。电子邮件应该包含类似“domain.com/forget.php?h=HASHEDSTRING”的链接。在该页面中,您应该检查哪个用户具有该散列字符串,并为他们输出一个字段以重置密码。您应该使用mail()
发送电子邮件,并将散列随机字符串添加到数据库中。电子邮件应该包含类似“domain.com/forget.php?h=HASHEDSTRING”的链接。在该页面中,您应该检查哪个用户具有该散列字符串,并为他们输出一个字段以重置密码。您可以执行以下操作:
处理密码重置的安全方法如下所示: 密码重置请求:
您可以使用哈希算法(如SHA512)对令牌进行哈希,而无需添加盐。如果令牌非常强(最小长度为20,a-z为0-9a-z),则这是安全的。从理论上讲,在将哈希输入数据库之前,您必须检查它是否已经存在,实际上这是可以忽略的。处理密码重置的安全方法可能如下所示: 密码重置请求: