TencentAptcha

功能描述

腾讯防水墙验证码,用例见 TCaptcha.html

概述

腾讯防水墙简介

防水墙团队来自腾讯 TEG 安全平台部,团队积累了十余年的业务安全数据和风控经验,在金融、营销、帐号、内容等场景为腾讯各个业务提供业务安全基础能力,保障微信、QQ、腾讯视频、微众银行等产品的业务安全。

模块概述

本模块简单封装了腾讯防水墙的滑动验证码,并调整了部分机型会报错的问题。提供终身15万次的调用次数,2000次/小时。

使用前的准备

使用之前须从腾讯防水墙平台申请接入(注意:一定是https://007.qq.com 这个域名进入的,如果你进入了腾讯云的验证码平台,就是要收费的哟。), 添加一个场景后会得到一个App IDApp Secret Key,保存起来,后面会使用到。详细参考:接入文档

依赖的模块

./libs/Tencentaptcha.js ./libs/TcCaptcha.js

快速使用

初始化并显示验证码 TcCaptcha.check({params}, callback(res));

params

appid

  • 类型:字符串
  • 描述:从腾讯验证码平台获取的 appid

    callback(res)

    ret:

  • 类型:JSON对象
  • 内部字段(appid,ticket,bizState三个参数都需要传给服务端进行验证)

    1. {
    2. ret: 0 // int类型,验证结果,0-验证成功,2-用户主动关闭验证码
    3. ticket: '', //字符串类型 验证成功的票据,当且仅当ret=0时ticket有值
    4. appid: '', // 字符串类型 从腾讯验证码平台获取的 appid
    5. bizState'' // any类型 自定义透传参数
    6. }

    示例代码

    完整实例可以查看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)); });

  1. ##后端验证示例(PHP版
  2. ```php
  3. <?php
  4. $captcha_keys = [
  5. 'appid' => 'appsecretkey'
  6. ];
  7. $request = $_REQUEST;
  8. // 所有参数必传
  9. $data = [
  10. 'aid' => $request['captcha_appid'],
  11. 'AppSecretKey' => $captcha_keys[$request['captcha_appid']],
  12. 'Ticket' => $request['captcha_ticket'],
  13. 'Randstr' => $request ['captcha_randstr'],
  14. 'UserIP' => '127.0.0.1' // 用户ip
  15. ];
  16. $url = 'https://ssl.captcha.qq.com/ticket/verify?' . http_build_query($data);
  17. $result = file_get_contents($url);
  18. echo $result;

特别说明

如果觉得15万次,2000/小时有点少,可以多注册几个号,每次请求随机使用一个appid。