密码重置电子邮件html

时间:2013-08-12 20:17:40

标签: php html email passwords

我想在用户忘记密码时向用户发送电子邮件。此电子邮件应包含指向用户可以输入新密码的页面的链接。我发送了什么链接?我的意思是我应该将用户名作为参数放在网址中,如果是这样,我怎么能隐藏参数显示在网址中。我知道还有其他问题可以解决这个问题,但我无法理解它们。我是编程新手。谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

当用户请求新密码时,您将创建一个您坚持在数据库中的唯一字符串。然后,您通过电子邮件向用户发送包含该字符串的URL以及更改密码的路径。最后,当用户访问该URL时,您必须确保这两个随机字符串相等。

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

如果您将代码明文存储在数据库中,那么您的密码重置系统将比登录公式弱。通常,破解密码重置功能确实更容易,而不是登录系统。

使用众所周知的框架的源代码是个好主意。如果您正在寻找可以提供此类重置链接的独立课程,您可能希望查看我的example