php – 寻找一些好的选项来发送用户重置密码的电子邮件
发布时间:2020-12-13 22:01:51 所属栏目:PHP教程 来源:网络整理
导读:我想在忘记密码时向用户发送电子邮件,提示他们重置密码.我知道这是有争议的,正在寻找一些好的选择/建议/方法/文章可供选择. 我提示用户使用简单的脚本按下’忘记密码’链接,PHP部分执行此操作: $Email = $_POST['email'];$success = false;$formError = fal
我想在忘记密码时向用户发送电子邮件,提示他们重置密码.我知道这是有争议的,正在寻找一些好的选择/建议/方法/文章可供选择.
我提示用户使用简单的脚本按下’忘记密码’链接,PHP部分执行此操作: $Email = $_POST['email']; $success = false; $formError = false; if(isset($_POST['sub_forgot_pw'])) { if(empty($_POST['email'])) { $formError = "true"; $error = "Please enter your e-mail address."; }else{ $to = $Email; $subject = "Password Help"; $message = "To reset your password,please <a href='http://www.blahblahblah.org'>Click here</a><br /><br />Do LIFE,<br /> The Team"; $from = "CysticLife <noreply@cysticlife.org>"; $headers = 'MIME-Version: 1.0' . "n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "n"; $headers .= "From: $from"; if(mail($to,$subject,$message,$headers));{ $success = "true"; } } } 解决方法
这是我做的:
我有reset_password表.当有人要求重置时,他们通常会点击您网站上的“忘记密码”链接,在该链接中他们输入他们注册的电子邮件,系统会发送链接. $token = md5($_POST['email'].time()); 但正如Buh Buh在下面的评论中表达的那样,你可能想要使用一些不太明显的东西来生成你的令牌.如果你愿意,crypt()可以接受盐模式. 在reset_password表中插入请求(电子邮件和令牌),然后向他们发送类似的链接 http://www.domain.com/resetpassword.php?token=<?php echo $token; ?> 然后在该文件中,您获取$_GET [‘token’]并将其与reset_password表交叉引用.如果令牌有效,则向您提供一个要求提供新密码的表单.提交后,选择具有与该令牌相关的电子邮件地址的用户并更新用户表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |