给你的网站添加腾讯免费验证码功能-蚂蚁资源

给你的网站添加腾讯免费验证码功能

自从腾讯给每个人提供了20000次免费验证码后,成功吸引到了一波白嫖站长,由于这2W验证码有效期只有一年,为了不浪费赶紧利用起来才是王道。下面一起来学习下腾讯验证码是如何使用的。

腾讯云验证码地址:https://cloud.tencent.com/product/captcha

没开通的自己去上面的地址开通免费验证码,在控制台图形验证码里面点免费资源包,即可领取2W码。

开通好了后我们就要写代码了,第一步引入腾讯验证码js类。

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

如果你嫌弃腾讯的速度慢,可以将其下载到你的服务器中。

然后开始使用验证码功能。

一、标签属性绑定

在需要激活验证码的 DOM 元素(button、div、span)内加入以下 ID 及属性。

<!--点击此元素会自动激活验证码-->
<!--id : 元素的 ID(必须)-->
<!--data-appid : 验证码AppID(必须)-->
<!--data-cbfn : 回调函数名(必须)-->
<!--data-biz-state : 业务自定义透传参数(可选)-->
<button id="TencentCaptcha"
data-appid="appId"
data-cbfn="callback"
type="button"
>验证</button>

创建js回调函数

window.callback = function(res){
console.log(res)
// res(用户主动关闭验证码)= {ret: 2, ticket: null}
// res(验证成功) = {ret: 0, ticket: "String", randstr: "String"}
if(res.ret === 0){
alert(res.ticket) // 票据
}
}

注意:该JS验证码类会自动绑定id名为TencentCaptcha的HTML标签,如果不想使用它,请避免使用此id。

二、JS绑定HTML元素

手动绑定不要使用的元素,避免重复绑定单击。

//方法1: 直接生成一个验证码对象。
var captcha1 = new TencentCaptcha('appId', function(res) {/* callback */});
captcha1.show(); // 显示验证码

//方法2:绑定一个元素并自动识别场景id和回调。
// 验证码会读取dom上的`data-appid`和`data-cbfn`以及`data-biz-state`(可选)自动初始化
new TencentCaptcha(document.getElementById('TencentCaptchaBtn'));

//方法3:绑定一个元素并手动传入场景Id和回调。
new TencentCaptcha(
document.getElementById('TencentCaptchaBtn'),
'appId',
function(res) {/* callback */},
{ bizState: '自定义透传参数' }
);

回调内容

前端验证成功后,验证码会调用业务传入的回调函数,并在第一个参数中传入回调结果。结果字段说明如下:

字段名 值类型 说明
ret Int 验证结果,0:验证成功。2:用户主动关闭验证码。
ticket String 验证成功的票据,当且仅当 ret = 0 时 ticket 有值。
appid String 场景 ID。
bizState Any 自定义透传参数。
randstr String 本次验证的随机串,请求后台接口时需带上。

更多详细参数请查阅腾讯在线文档:https://cloud.tencent.com/document/product/1110/36841

使用DMD主题的用户,可以参考如下写法。

首先在function-theme.php文件中找到_the_head函数,这里是控制输出网页头部一些资源的,在其中加上腾讯的验证码js,就是上面那个。如果你不想每个页面都加载,只在特定页面加载可以使用wordpress的判断函数自行判断。

然后在pages目录下找到login.php文件,找到最后面的一段js,将之改为:

<script>
var captcha1 = new TencentCaptcha('XXX你的appid', function(res) {
if(res.ret==0){
$.ajax({
url: '/wp-content/themes/dmd/action/user.php',
type: 'POST',
dataType: 'json',
data: $('.sign-form').serializeObject(),
success: function(data, textStatus, xhr) {
$(".sign-tips").text(data.msg);
$(".sign-tips").css("display","block");
setTimeout(function () {
$(".sign-tips").css("display","none");
}, 6000);
if (data.error){ 
}else{
window.location.href=data.back;
} 
}
});
}
});
function loginjs(frm,event){
var event=window.event?window.event:event; 
if(event.keyCode==13){
captcha1.show();
}
}
$(function(){
$('.btn-block').on('click', function(e){
captcha1.show();
});
});
</script>

此时再登录就会先触发验证码,当正确验证后才会向服务器发起登录请求。当然,这样只是对前端进行了验证,用户的验证数据是不是有效的、可靠的还需要传递给腾讯的验证码服务器验证,其中需要涉及到PHP的api这里由于篇幅问题就先不讲了,下一篇再讲。

具体效果如我演示站的登录页。DMD主题演示站登录页

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.antziyuan.com",如遇到无法解压的请联系管理员!

蚂蚁资源 » 给你的网站添加腾讯免费验证码功能

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
该资源仅供学习和研究传播,大家请在下载后24小时内删除,一切关于该资源商业行为与我们无关。 请勿将该软件进行商业交易、转载等行为,该软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
找不到素材资源介绍文章里的示例图片?
对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
蚂蚁资源
大家都喜欢的资源网站!
  • 47会员总数(位)
  • 793资源总数(个)
  • 3本周发布(个)
  • 0 今日发布(个)
  • 173稳定运行(天)

提供最优质的资源集合

立即查看 了解详情
升级SVIP尊享更多特权立即升级