卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

帝国CMS整合腾讯防水墙验证码

帝国CMS整合腾讯防水墙验证码

效果图

搞网站,验证码是个少不了的东西。可以自动系统自带的验证码,这个在一般网站中是已经满足市场需求的。

但是,当你感觉自带的图形验证码比较安全的时候,或许你就会想换种验证方法。这个怎么再加呢?是自己研发?还是采用别人已经研发好的?

如果自己有能力研发安全点的验证码,就不必为此事疑惑了。如果采用别人的验证码?那采用谁的呢?怎么采用呢!

今天跟大家说一款验证码--->腾讯防水墙,官网地址:https://007.qq.com/它的功能特点这里不多说道,大家可以去它官网介绍一下。

我们先使用qq账号登陆一下获取至appid、appSecretKey,这步比较简单这里不多说。

接着我们在自己网页上提及它的js文件,代码如下:

在你想激活验证码的DOM元素(eg. button、div、span)内加入以下id及属性

验证

为验证码建立反弹函数,特别注意函数名要与data-cbfn相同

完成以上操作方式后,点击激活验证码的元素,即可弹出验证码。

服务器接入检验:

在检验顺利完成后,客户端接到获得一个验证票据(ticket)。将票据上传至服务器,并发送GET请求至下方USB可以校验验证码的票据,推论当次检验是否成功。
URL: https://ssl.captcha.qq.com/ticket/verify

字段名 叙述
aid (m6) 2003163982
AppSecretKey (m6) 01r99tD8UEg6yBWacQ9MS5w**
Ticket (m6) 验证码客户端验证反弹的票据
Randstr (必填) 验证码客户端验证反弹的随机串成
UserIP (m6) 提交验证的用户的IP地址(eg: 10.127.10.2)

返回值
Json格式,eg:{response:1, evil_level:70, err_msg:""}

字段名 描述
response 1:检验顺利,0:验证失利,100:AppSecretKey参数校验错误[required]
evil_level [0,100],蓄意等级[optional]
err_msg 检验错误信息[optional],查看详细表明

至此,验证码接入已完成,例如须要对验证码展开定制恳请往下阅读详尽配置,更多配置项可出访配置中心。

完备代码如下:

<?php/**
 * Created by PhpStorm.
 * User: Shu QQ:610712114
 * Date: 2019/4/2 0002
 * Time: 上午 10:08
 * 功能:
 */require('../../class/connect.php');include("../../class/db_sql.php");$link=db_connect();$empire=new mysqlquery();$enews=$_POST['enews'];if($enews=='checkYzm') {    echo sCheckYzm($_POST);}function sCheckYzm($add) {    global $empire,$dbtbpre;    $ticket=$add['ticket'];    $randstr=$add['randstr'];    if(!$ticket) {        return json_encode(array('error'=>0,'msg'=>'票据错误'));    }    $aid='您的appid'; 
    $appsecretkey='你的AppSecretKey';    $url='https://ssl.captcha.qq.com/ticket/verify?aid='.$aid.'&AppSecretKey='.$appsecretkey;    $url.='&Randstr='.$randstr;    $url.='&Ticket='.$ticket;    $url.='&UserIP='.egetip();    return httpGetRequest($url);}/**
* 函数的含义说明:CURL发送get请求    获取数据
* @param str $url 发送接口地址
* @return  返回json数据
 */function httpGetRequest($url){    $curl = curl_init(); // 启动一个CURL会话    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_HEADER, 0);    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // UX21LI2677E证书检查    $output = curl_exec($curl);     //返回api的json对象    //关闭URL请求    curl_close($curl);    return $output;    //回到json对象}
卓越飞翔博客
上一篇: 当前自定义列表调用所属分类下的所有列表链接
下一篇: 帝国CMS二次开发搜索支持多关键字
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏