Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 密码重置电子邮件html_Php_Html_Email_Passwords - Fatal编程技术网

Php 密码重置电子邮件html

Php 密码重置电子邮件html,php,html,email,passwords,Php,Html,Email,Passwords,我想在用户忘记密码时向其发送电子邮件。此电子邮件应具有指向用户可以输入新密码的页面的链接。我应该发送什么链接?我的意思是我应该把用户名作为一个参数放在url中,如果是的话,我怎样才能隐藏参数,使其不显示在url中。我知道还有其他问题可以回答,但我无法真正理解。我是编程新手。感谢您的帮助。当用户请求新密码时,您将创建一个唯一的字符串,并将其粘贴到数据库中。然后通过电子邮件向用户发送包含该字符串的url和更改密码的路径。最后,当用户访问该URL时,您只需确保这两个随机字符串相等 但不要重新发明轮子。

我想在用户忘记密码时向其发送电子邮件。此电子邮件应具有指向用户可以输入新密码的页面的链接。我应该发送什么链接?我的意思是我应该把用户名作为一个参数放在url中,如果是的话,我怎样才能隐藏参数,使其不显示在url中。我知道还有其他问题可以回答,但我无法真正理解。我是编程新手。感谢您的帮助。

当用户请求新密码时,您将创建一个唯一的字符串,并将其粘贴到数据库中。然后通过电子邮件向用户发送包含该字符串的url和更改密码的路径。最后,当用户访问该URL时,您只需确保这两个随机字符串相等


但不要重新发明轮子。使用一些第三方应用程序。当然,您的框架至少有一个。

我使用随机生成的字符串,比如说32个字符长的字符串,生成并保存在数据库的users表中,其中有一个名为NotAproved的列。然后,我向用户发送一封带有链接的电子邮件,其中以32个字符的字符串作为参数。链接下的引擎获取该字符串,在数据库中搜索该字符串并重置密码,将其设置为0。如果用户刚注册时确认了电子邮件,我会使用相同的字段作为权限指示器。

正如其他人所建议的,最好生成一个与用户的任何信息无关的随机代码。然后,该代码可以与userid一起存储在数据库中的一个单独的表中,但重要的一点是:只存储该代码的哈希值

如果将代码明文存储在数据库中,则密码重置系统将比登录公式弱。通常,破解密码重置功能比破解登录系统更容易


最好使用知名框架的源代码。如果您正在寻找一个可以提供此类重置链接的独立类,也许您想看看my。

安全性很难。如果你不得不问这个问题,你最终会创建一个不安全的系统。简言之,不要重新发明轮子。使用现有的、经过验证的登录系统。使用现有的功能(每个框架都有一个)。如果你试图自己重新发明安全性,你只会把你用户的密码交给世界上每一个脚本小子。