腾讯防水墙验证码,用例见 TCaptcha.html
防水墙团队来自腾讯 TEG 安全平台部,团队积累了十余年的业务安全数据和风控经验,在金融、营销、帐号、内容等场景为腾讯各个业务提供业务安全基础能力,保障微信、QQ、腾讯视频、微众银行等产品的业务安全。
本插件简单封装了腾讯防水墙的滑动验证码,并调整了部分机型会报错的问题。提供终身15万次的调用次数,2000次/小时。
使用之前须从腾讯防水墙平台申请接入(注意:一定是https://007.qq.com 这个域名进入的,如果你进入了腾讯云的验证码平台,就是要收费的哟。),
添加一个场景后会得到一个App ID
和App Secret Key
,保存起来,后面会使用到。详细参考:接入文档
./libs/Tencentaptcha.js ./libs/TcCaptcha.js
初始化并显示验证码 TcCaptcha.check({params}, callback(res));
appid
ret:
{
ret: 0 // int类型,验证结果,0-验证成功,2-用户主动关闭验证码
ticket: '', //字符串类型 验证成功的票据,当且仅当ret=0时ticket有值
appid: '', // 字符串类型 从腾讯验证码平台获取的 appid
bizState:'' // any类型 自定义透传参数
}
完整实例可以查看TCaptcha.html
var captcha = TcCaptcha.check({
appid: 'appid',
}, function(res){
alert(JSON.stringify(res));
});
# appid也可以配置在TcCaptcha.js里面,只传callback即可
var captcha = TcCaptcha.check(function(res){
alert(JSON.stringify(res));
});
##后端验证示例(PHP版
<?php
$captcha_keys = [
'appid' => 'appsecretkey'
];
$request = $_REQUEST;
// 所有参数必传
$data = [
'aid' => $request['captcha_appid'],
'AppSecretKey' => $captcha_keys[$request['captcha_appid']],
'Ticket' => $request['captcha_ticket'],
'Randstr' => $request ['captcha_randstr'],
'UserIP' => '127.0.0.1' // 用户ip
];
$url = 'https://ssl.captcha.qq.com/ticket/verify?' . http_build_query($data);
$result = file_get_contents($url);
echo $result;
如果觉得15万次,2000/小时有点少,可以多注册几个号,每次请求随机使用一个appid。