您现在的位置是:首页 > 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
返回值
Json格式,eg:{response:1, evil_level:70, err_msg:""}
至此,验证码接入已完成,如需对验证码进行定制请往下阅读详细配置,更多配置项可访问配置中心。
完整代码如下:
<?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对象}
本文标签:帝国验证码
很赞哦! ()
相关教程
图文教程
帝国CMS会员实现邮箱或用户名都能登陆的方法
这个功能想必大家都想知道吧,其实修改实现起来还是非常容易的,看看方法就知道了,可以同时实现用户名或者使用注册是的邮箱进行登陆帐号。
帝国CMS栏目怎么缓存调用面包屑
帝国cms栏目缓存调用面包屑方法,在userfun.php中加入以下函数:在模版中使用:传递参数当前栏目ID即可使用例子(内容页):
帝国CMS导航高级应用灵动标签调用二级导航循环子栏目信息的方法
帝国CMS高级应用 灵动标签调用二级导航 循环子栏目和信息:
怎么修复帝国CMS邮件标题乱码的方法
帝国CMS在使用邮件功能时,如,订单邮件、留言邮件、注册邮件、找密码邮件等等,但是收到的邮件标题都是乱码的,以及发件网站名称也是乱码的。
相关源码
-
(自适应)蓝色五金制品配件管件pbootcms网站源码下载基于PbootCMS内核开发的五金行业专用模板,采用响应式设计架构,确保产品展示在各类移动设备上的呈现。通过模块化布局与工业风视觉设计,帮助五金企业高效展示产品规格、应用场景及技术支持,建立专业可靠的行业形象。查看源码 -
自适应恒温恒湿机空调机械设备营销型网站模板(自适应手机版)响应式营销型恒温恒湿机环境设备类网站pbootcms模板 蓝色营销型空调设备网站源码下载PbootCMS内核开发的网站模板,该模板适用于营查看源码 -
(PC+WAP)铝合金门窗定制pbootcms网站模板源码为铝合金门窗、定制门窗企业打造的高性能网站模板,基于PbootCMS开源内核开发,采用HTML5自适应架构,PC与手机端数据实时同步,覆盖全终端用户交互场景。查看源码 -
(PC+WAP)历史复古古典古籍文章资讯类pbootcms模板下载本模板基于PbootCMS系统开发,为古籍研究、历史文献类网站设计,特别适合展示古典书籍、历史档案等文化内容。采用复古风格设计,同时具备现代化响应式布局,确保在PC和移动设备上都能呈现优雅的阅读体验。查看源码 -
pbootcms模板(PC+WAP)火锅加盟餐饮美食类带留言源码基于PbootCMS内核深度开发,为火锅、餐饮品牌打造的营销型解决方案。采用红色主题传递行业活力,实现PC与WAP端适配。查看源码 -
(自适应响应式)HTML5建筑工程公司建筑集团网站模板下载基于PbootCMS内核开发的响应式建筑行业网站模板,为建筑工程公司、建筑集团等企业打造,通过简洁大气的设计风格展现企业专业形象。查看源码
| 分享笔记 (共有 篇笔记) |

