TencentAptcha
功能描述
腾讯防水墙验证码,用例见 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));
params
appid
- 类型:字符串
描述:从腾讯验证码平台获取的 appid
callback(res)
ret:
- 类型:JSON对象
内部字段(appid,ticket,bizState三个参数都需要传给服务端进行验证)
{
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
<?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。