‘壹’ php如何实现邮箱验证
这是一个可以发送邮件的程序。程序是直接使用SMTP协议进行发送,用到了经典的phpMailer库。
请阅读apply.php文件。
发邮件之前你需要一个用来发送邮件的邮箱账号。但不能使用这个账号发送太多的邮件,否则会被当做垃圾邮件屏蔽。如果发送量较大,可以多申请几个邮箱。
关键变量说明:
subject: 邮件的主题
email: 邮件的内容
host: SMTP主机,与你申请的邮箱的服务商有关,详见代码内注释
fromname: 发件人的名字,可以任意写,对方收到时能看到这个名字
from: 发件人地址
to: 收件人地址,代码中写了$to = $from,请自行更改
username和password: 你邮箱的账号和密码,一般username都等于发件人地址。必须提供,否则无法发送邮件。
PHPMailer说明:
$mailer = new PHPMailer(true);
$mailer->IsHTML(true); // 这是一封HTML邮件
$mailer->IsSMTP(true); // 连接SMTP服务发送邮件
# $mailer->SMTPDebug = true; // 是否开启调试模式
$mailer->CharSet = 'UTF-8'; // 邮件内容的编码,和你程序的编码保持一致
$mailer->Encoding = 'base64'; // 邮件传递过程使用的编码
$mailer->FromName = $fromname; // 发件人
$mailer->Host = $host; // SMTP服务地址
$mailer->AddAddress($to); // 添加收件人
$mailer->From = $from; // 设置发件人
$mailer->Subject = $subject; // 设置主题
$mailer->MsgHTML($email); // 设置HTML邮件内容
$mailer->SMTPAuth = true; // 开启SMTP验证
$mailer->Username = $username; // 设置用户名
$mailer->Password = $passwd; // 设置密码
$mailer->Send(); // 发送邮件
‘贰’ php邮件发送验证码问题
你的if语句有问题
肢解开来是这样的
if(存在验证码)
{
if(验证码不正确)
{
提示错误
}
else
{
发送邮件
}
}
然后不存在验证码没有相关操作。。。
‘叁’ php验证邮箱格式
PHP正则表达式验证邮箱示例如下:
<?php
$email='[email protected]';
$pattern="/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(preg_match($pattern,$email)){
echo '邮箱验证通过!';
} else{
echo '邮箱格式错误!';
}
?>
‘肆’ php怎么实现验证码的
验证码功能机制实现思路
常规的验证码实现:
a、产生一张png的图片
b、为图片设置背景色
c、设置字体颜色和样式
d、产生4位数的随机的验证码
e、把产生的每个字符调整旋转角度和位置画到png图片上
f、加入噪点和干扰线防止注册机器分析原图片来恶意注册
g、输出图片
h、释放图片所占内存
i、将验证码保存到session或是数据库
j、将和输入的验证码进行对比
短信(邮箱)验证码机制:
a、产生4-6位数的随机的验证码
b、把产生的每个字符保存到session或是数据库
c、将验证码发送到用户的手机(邮箱)
d、用户在规定时间内进行输入
e、将验证码从session或是数据库中取出
f、将和输入的验证码进行对比验证
‘伍’ PHP中如何实现手机号或邮箱登录高手指点
是否是用户注册时,填写手机和邮箱还有密码,手机号和邮箱在表不同字段下,而登录时只需要在一个输入框填写,实现无论手机号还是邮箱都能登录是吗?
简单笨点的方法就是取到这个值,分别和手机号字段\邮箱字段匹配,找到了就是这个用户,没找到就是手机号或邮箱错误.
在一个方法,这个值在控制层表单验证时判断是否是正确的手机号,或者邮箱,然后判断后去进行用户验证就可以了啊
‘陆’ PHP中模拟登录的验证码问题应该如何解决
基本思路:
首先获取一个cookies值,再带着这个cookies去获取验证码图片,你再带着验证码值和登录数据去模拟post登录。下面是一个模拟获取验证码的。
这里忽略获取cookies的过程。注意文件为UTF-8无BOM格式
?php
header('Content-Type:image/png');
$url="http://hbyw.e21.e.cn/global/gd.php";//图片链接
$ch=curl_init();
//Cookie:PHPSESSID=
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_COOKIE,'PHPSESSID=');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch,CURLOPT_TIMEOUT,0);//忽略超时
curl_setopt($ch,CURLOPT_NOBODY,false);
$str=curl_exec($ch);
curl_close($ch);
‘柒’ php接口怎样安全接收并验证token
<?php
/*
*PHP简单利用token防止表单重复提交
*此处理方法纯粹是为了给初学者参考
*/
session_start();
functionset_token(){
$_SESSION[‘token’]=md5(microtime(true));
}
functionvalid_token(){
$return=$_REQUEST[‘token’]===$_SESSION[‘token’]?true:false;
set_token();
return$return;
}
//如果token为空则生成一个token
if(!isset($_SESSION[‘token’])||$_SESSION[‘token’]==”){
set_token();
}
if(isset($_POST[‘test’])){
if(!valid_token()){
echo"tokenerror";
}else{
echo‘成功提交,Value:’.$_POST[‘test’];
}
}
?>
<formmethod="post"action="">
<inputtype="hidden"name="token"value="<?phpecho$_SESSION[‘token’]?>">
<inputtype="text"name="test"value="Default">
<inputtype="submit"value="提交"/>
</form>