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

时间:2011-08-16 05:11:07

标签: php

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

两步过程。

  • 用户将输入电子邮件ID,邮件将通过链接将其发送给用户。

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

任何人都可以为此编写脚本流吗?

1 个答案:

答案 0 :(得分:6)

我希望这会对你有所帮助。首先,你必须使用seqid,tokenid,status列创建一个表名“token”。sequence id将表示哈希表单中的序列号tokenid以及它自己解释的状态。

现在你必须计算一次仅在用户点击重置密码后才使用的网址,系统将生成一个标记ID(由你决定如何生成一个哈希值) 然后撰写一个将通过电子邮件提交给用户的网址

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

示例:

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

在用户点击网址后,它将转到功能并检查用户是谁或是否存在,以及令牌是否已过期

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

然后在完成后重置他/她的密码,您需要将令牌的状态更改为“非活动”,以便不能再次使用

谢谢请率!古德勒克