【发布时间】:2019-04-04 14:21:38
【问题描述】:
我喜欢通过 my website 探索 PHP 的世界,通过创建个人小项目,让我了解当前和未来的工作经验......
当用户在我的网站上创建帐户时,我会尽快添加电子邮件信息...
经过几个小时的研究和阅读,我无法找到或理解如何发送带有重置用户密码链接的电子邮件...
这是我的哈希方法:
$options = ['cost' => 11, 'salt' => random_bytes(22)];
$passwordCrypter = password_hash($password, PASSWORD_BCRYPT, $options);
我认为我们需要使用这种方法,因为我认为不建议解密密码...
但是为什么……我想明白……
谢谢
祝大家开心
【问题讨论】:
-
不要解密密码,对用户输入进行哈希处理并将该哈希值与数据库中的哈希值进行比较
-
我认为您应该在电子邮件中发送重置密码链接,您可以在重置表单提交时设置新密码。仅供参考:
salt已弃用 >=PHP 7.0.0 -
你的问题太宽泛了,你需要缩小范围。并且密码被散列的方式,不应该对你的密码重置机制做任何事情。
-
生成一个随机字符串,存储在数据库中,并用作激活帐户链接的一部分,例如example.com/…
-
passhword_hash()php 中的函数无法解密。您可以使用用户的id来使用GET 方法并更新特定用户的密码。使用更新密码机制给出接受 GET 值的文件的链接。您还可以在 php 中使用base64encode()来隐藏 id 以防止出现在 url 中。
标签: php sendmail reset-password