什么是最好的方法'重置密码'php中的功能


What is the best way to do 'Reset Password' functionality in php?

在php中做'重置密码'功能的最佳方法是什么?

两步工艺。

  • 用户输入邮箱Id,邮件会将链接发送给用户。

  • 当用户点击链接时,他可以看到两个字段来重置他的密码

我希望这对你有帮助。首先,您必须创建一个名为"token"的表,其中包含seqid、tokenid、status..序列id将以散列形式表示序列号令牌id和它自己解释的状态。

现在你必须计算一个url,只有在用户点击重置密码后,系统才会生成一个tokenid(它取决于你如何生成一个哈希值)然后编写一个url,将通过电子邮件提交给用户

域名/功能或页面?用户名(哈希形式)&tokenid

的例子:

http://www.yourdomain.com/resetpassword.php?_u=82cc5b9e02d711035aafef9e18c7eb26973e8962& tokenid = 82 cc5b9e02d711035aafef9e18c7eb26973e8962

在用户点击url后,它将进入功能并检查谁是用户或是否存在以及是否已过期的令牌id

 ex. "select user from users where sha1(username) = $userInHashForm "
     "Select * from token where tokenid = $tokenid AND status = 'active'"

然后重置他/她的密码,当它完成时,你需要将令牌的状态更改为"非活动",因此它不能再次使用

谢谢评分!古德勒克