您现在的位置是:首页 > cms教程 > 帝国CMS教程帝国CMS教程

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

毅冯2023-05-19帝国CMS教程已有人查阅

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

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

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

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

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

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

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

<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script><script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.js"></script>

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

<!--点击此元素会自动激活验证码--><!--id : 元素的id(必须)--><!--data-appid : AppID(必须)--><!--data-cbfn : 回调函数名(必须)--><!--data-biz-state : 业务自定义透传参数(可选)--><button id="TencentCaptcha"        data-appid="200316398*" //刚注册的appid        data-cbfn="callback" // 用户触发验证时调用的函数名,可以自己定义,你想搞个aaa都行>验证</button>

为验证码创建回调函数,注意函数名要与data-cbfn相同

<script>window.sCallback = function(res){    if(res.ret === 0){        $.ajax({            type:'post',url:'/e/shu/captcha/index.php',data:{'enews':'checkYzm','ticket':res.ticket,'randstr':res.randstr},dataType:'json',            success:function(res) {               if(res.response==1){
                    //服务器返回正确结果,然后处理               }            }        })    }}</script>

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

服务器接入验证:

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

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

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

字段名描述response1:验证成功,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); // 跳过证书检查    $output = curl_exec($curl);     //返回api的json对象    //关闭URL请求    curl_close($curl);    return $output;    //返回json对象}

本文标签:帝国验证码 

很赞哦! ()

相关源码

  • (PC+WAP)绿色环保建筑设备通用行业pbootcms源码下载通过模块调整可适配园林景观、装配式建筑、绿色装修等生态建设相关领域。预制绿色建材展示、能耗模拟等专业模块,集成项目案例、环保工艺等建筑行业特色内容结构,测试数据包含LEED认证体系查看源码
  • (自适应)蓝色厨卫厨房水龙头阀门水槽设备源码下载基于PbootCMS内核开发,深度适配厨卫设备行业特性。通过精准的产品展示模块与水效标识专区设计,有效呈现五金件工艺细节。响应式布局确保从手机到平板都能展示金属质感与水流动态效果。查看源码
  • (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0Rabbit v2.0主题专注于网站搜索引擎优化需求,为博客、自媒体及资讯类网站提供专业的SEO技术解决方案。该主题从架构设计到功能实现均围绕搜索引擎优化理念展开。查看源码
  • (自适应)宽屏大气红色机械设备pbootcms模板源码下载为机械设备制造企业设计的响应式网站模板,采用PbootCMS内核开发。宽屏布局突出设备展示效果,红色工业风格贴合机械行业属性,支持PC端与手机端自动适配查看源码
  • (PC+WAP)蓝色弹簧针厂家探针充电连接器设备网站源码下载基于PbootCMS开发的响应式模板,为弹簧针、探针连接器等电子元器件企业设计。模板采用工业蓝主色调,突出产品技术特性,支持多维度展示连接器产品的规格参数与应用场景,帮助制造企业建立专业线上展示平台。查看源码
  • (自适应)品牌策划高端设计公司网站pbootcms模板免费下载本模板为品牌策划与设计公司打造,基于PbootCMS内核开发,充分考虑了创意设计行业的视觉展示需求。模板设计风格现代简约,布局合理清晰,呈现设计作品与专业服务,帮助设计公司展示创意实力并吸引潜在客户。查看源码
分享笔记 (共有 篇笔记)
验证码: