PHP实现邮箱验证码验证功能
2021-01-25 02:15
YPE HTML>
标签:邮箱验证 登录 格式 tar 程序 body 用户名 实现 include
*文章来源:https://blog.egsec.cn/archives/623 (我的主站)
*本文将主要说明:PHP实现邮箱验证码验证功能,通过注册或登录向用户发送身份确认验证码,并通过判断输入的验证码是否正确做出登录判断。
实现邮箱验证码功能有三个步骤:
1、下载 PHPMailer 组件:https://github.com/PHPMailer/PHPMailer
2、编写随机数(验证码)函数:
3、编写调用核心组件程序:
CharSet ="UTF-8"; //设定邮件编码 $mail->SMTPDebug = 0; // 调试模式输出 $mail->isSMTP(); // 使用SMTP $mail->Host = ‘ smtp.qq.com‘; // SMTP服务器 $mail->SMTPAuth = true; // 允许 SMTP 认证 $mail->Username = ‘**********‘; // SMTP 用户名 即邮箱的用户名 $mail->Password = ‘****************‘; // SMTP 密码 部分邮箱是授权码(例如163邮箱) $mail->SMTPSecure = ‘ssl‘; // 允许 TLS 或者ssl协议 $mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持 $mail->setFrom(‘*********qq.com‘, ‘Mailer‘); //发件人(以QQ邮箱为例) $mail->addAddress($Email, ‘Joe‘); // 收件人($Email可以为变量传值,也可为固定值) //$mail->addAddress(‘ellen@example.com‘); // 可添加多个收件人 $mail->addReplyTo(‘*********@qq.com‘, ‘info‘); //回复的时候回复给哪个邮箱 建议和发件人一致 //$mail->addCC(‘cc@example.com‘); //抄送 //$mail->addBCC(‘bcc@example.com‘); //密送 //发送附件 // $mail->addAttachment(‘../xy.zip‘); // 添加附件 // $mail->addAttachment(‘../thumb-1.jpg‘, ‘new.jpg‘); // 发送附件并且重命名 $yanzhen = codestr(); //此处为调用随机验证码函数(按照自己实际函数名改写) //Content $mail->isHTML(true); // 是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容 $mail->Subject = ‘******身份登录验证‘; $mail->Body = ‘欢迎使用******
您的身份验证码是:‘.$yanzhen.‘
‘ . date(‘Y-m-d H:i:s‘); $mail->AltBody = ‘欢迎使用********,您的身份验证码是:‘.$yanzhen . date(‘Y-m-d H:i:s‘); $mail->send(); echo ‘验证邮件发送成功,请注意查收!‘; } catch (Exception $e) { echo ‘邮件发送失败: ‘, $mail->ErrorInfo; } } ?>
完成以上三个步骤即可实现向用户发送邮箱验证码的功能。
但是,事情并没有结束,向用户发送验证码成功后,对用户提交的验证码如何判断输入的验证码是否正确呢?如果正确,达到身份确认效果,否则反之。请看下面实例:
写实例之前,为了让大家更加明确程序中的文件名以及变量的作用,我们先规定:
1、将调用核心组件程序 命名为 email.php
2、规定验证码存放的变量名为 $yanzhen
3、将 用户输入的验证码 的post表单值命名为 YanEmail
4、规定使用POST提交表单
5、规定接收POST值的页面 命名为 yanzhen.php
规定了以上规则后,下面开始实例演示:
首先是用户输入页面:
登录 邮箱验证页面
POST表单接收页面(yanzhen.php):
到这就完成了PHP实现邮箱验证码功能的实现。其实没啥技术含量,就是可能逻辑上需要理清自己想要什么功能。
文章中如有错误,请留言指出,个人技术能力有限,希望可以帮到你。
转载请注明来源!谢谢!!!
PHP实现邮箱验证码验证功能
标签:邮箱验证 登录 格式 tar 程序 body 用户名 实现 include
原文地址:https://www.cnblogs.com/egsec/p/13246052.html
下一篇:PHP代码审计分段讲解(4)