Loading
0

如何验证用户注册WordPress网站时验证邮箱的真实性?

一般WordPress网站都有注册功能,但是很多网站的注册验证不是很完善,增加了很多工作量,今天就讲讲如何验证用户注册WordPress网站时验证邮箱的真实性?

如何验证用户注册WordPress网站时验证邮箱的真实性?

邮箱地址验证接口

请求地址:http://email.qhyt1688.com/Home/EValidation

请求方式:post

请求参数:emails=邮箱地址

返回值:包含邮箱地址验证结果的json数据。

DUX主题注册增加邮箱地址真实性验证

打开dux主题下的action文件里面的log.php文件,增加如下代码:

function SendPost_email($FullHttpUrl, $Req, $isHttps)

{

$ch = curl_init();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $Req);

curl_setopt($ch, CURLOPT_TIMEOUT, 3);

curl_setopt($ch, CURLOPT_URL, $FullHttpUrl);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if ($isHttps === true) {

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

}

$result = curl_exec($ch);

return $result;

}

这是一个PHP发送post的方法,有三个参数,第一个是请求地址,第二个是请求参数,第三个是是否是https请求,由于接口是http,所以我们这里写fasle即可。

继续在log.php的第83行后,也就是邮箱格式验证后面写上如下代码,进行邮箱地址真实性验证。

$res=SendPost_email('http://email.qhyt1688.com/Home/EValidation','emails='.$ui['email'],false);

$stat=json_decode($res)->r[0]->emailSate;

if($stat!=1){

print_r(json_encode(array('error'=>1, 'msg'=>'邮箱不存在!')));

exit();

}

返回json有3个状态,0是邮箱地址不存在,1是邮箱地址存在,2是不支持的邮箱地址。

到此邮箱地址真实性检查结束,正确率比较高。SendPost_email方法也可以放在functions.php中,因为dux的log.php接口文件中引入了wp核心,可以直接使用functions.php与WordPress提供的函数。