关于php:如何通过电子邮件发送用户新链接来创建密码

How to Email user new link to create a password

根据这篇文章,我需要:

PHP密码恢复您不能"恢复"密码。你做的是两件事之一。

  • 向用户发送一个链接以创建新密码,覆盖当前密码。
  • 向用户发送随机生成的密码,然后要求他们更改。
  • 我已经咬掉了一个巨大的项目,我绝望地请求工作实例,或者至少是你关于如何做到这一点的最佳建议;例如:1电子邮件用户链接创建一个新密码,覆盖当前密码。我被告知数据库有密码盐渍,并使用河豚。我真的不知道这意味着什么,我正在检查代码,试图找出如何添加"重置密码"?链接到他们当前的登录页面。

    那么,如果你这么想的话,你能帮我向用户发送一封随机生成的密码,然后作为他们更改上面的密码吗?

    到目前为止,任务仍然是这样的,我不知道要提供什么代码;我希望已经完成这项工作的人能够向我展示什么是有效的,我将尝试实现它。谢谢你的帮助!


    生成密码重置的常见方法如下:

  • 检查电子邮件地址是否属于注册用户。
  • 生成随机的不可预测代码。
  • 将此代码与用户ID和到期日期一起存储在数据库中。
  • 将带有此代码的链接发送到给定的电子邮件地址,因此只有用户本身才能获得此链接。
  • 当用户单击链接时,提取代码,并检查其哈希是否在数据库中。
  • 如果它在数据库中,并且尚未过期,您知道用户ID,可以允许用户输入新密码(不要向用户发送自生成的密码)。
  • 将代码标记为已用或从数据库中删除。
  • 我希望这能给你一个必要步骤的想法。如果您想了解有关bcrypt和salting的更多信息,可以参考本教程中有关哈希密码的内容。