在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'"
然后重置他/她的密码,当它完成时,你需要将令牌的状态更改为"非活动",因此它不能再次使用
谢谢评分!古德勒克