更新时间:2025-11-17 18:05:28
行为验证码验证过程中,通过动态加密、Pow验证、轨迹分析、特征发现、信用历史、设备指纹、反模拟器、虚拟机加固、黑名单库等多道安全防护,帮助企业对抗黑产,保障业务安全。
验证码拦截效果不理想?
若您正在遭受黑产攻击困扰,期望能够拦截更多异常请求,建议您登录控制台,选择要配置的应用,单击安全配置:
推荐方案将风控等级调整至:安全优先。调整后,验证码服务将以更严格的风控策略对验证请求进行拦截。
选择验证方式:图形点选。由于图形点选问题更复杂,比其他验证方式能更好地拦截异常请求。
验证码每秒并发请求量(QPS)限制为:1000。 业务请求每秒并发量超出1000时:调用票据校验接口报错(RequestLimitExceeded)。
行为验证码区分两类验证方式,常规验证方式和无感验证。不同认证方式配置安全配置,实现灵活的验证码验证方式。 1.常规验证方式目前有三种:滑动拼图、文字点选、图形点选,调用验证码会100%显示弹窗。 2.无感验证方式下,用户无需回答验证问题,系统智能判断用户风险情况,通过后台票据校验 API 返回验证结果,适用于用户体验要求极高的场景。 (1)当请求有恶意时,验证码正常返回 ticket(其他验证方式下如果发现恶意,将会在前端进行拦截)。 (2)票据校验阶段,需要额外获取 EvilLevel 字段值来判断请求是否有恶意。
支持25种语言,包括简体中文、繁体中文(中国香港)、繁体中文(中国台湾)、英文、阿拉伯语、缅甸语、法语等,具体修改方式请参考开发文档
配置方式如下:
1.在客户端接入时,配置相关参数
2.选择要配置的应用,点击“外观配置”,进入外观配置页签,即可配置验证码提示语言为自适应。自适应通过匹配用户系统浏览器设置的语言和用户系统去显示提示语言,优先匹配用户系统浏览器。
可能的原因有: 1.用户使用环境异常,被策略判定为可疑用户,需要等待10-20分钟后再试,或更换网络环境后再试。 2.用户为恶意用户或处于恶意环境,被策略拦截。验证码服务会根据用户环境、验证历史、设备指纹等一整套立体策略模型,进行策略打击,来保证验证安全。 3.如果较多用户反馈出现上述问题,可能是策略等级过于严格,建议您登录控制台 ,选择应用,点击“安全配置”,进入应用详情 > 安全配置页签,将风控等级调整至:体验优先。 4.核实业务客户端接入使用的 验证ID(CaptchaAppId) 是否为控制台创建的应用。
| 名词 | 说明 |
|---|---|
| 请求量 | 客户端加载验证的次数 |
| 验证量 | 用户回答验证问题后,发起验证的次数 |
| 验证通过量 | 验证通过的次数 |
| 验证拦截量 | 验证未通过,被拦截的次数 |
| 答案错误拦截量 | 因答案错误导致验证被拦截的次数 |
| 安全策略打击拦截量 | 因安全策略打击导致验证被拦截的次数 |
| 票据校验量 | 服务端发起票据校验的次数 |
| 票据校验通过量 | 票据校验通过的次数 |
| 票据校验拦截量 | 票据校验未通过的次数 |
支持。目前支持 Web、Android、iOS客户端和微信以及以上小程序接入。小程序通过H5的方式接入,接入方式请参见 Web 客户端接入
调试过程中,正常情况下会首先调起 webview 加载网页,然后弹出验证码页面。
如果出现先弹出空白背景,后弹出图形验证页面的现象。形成原因如下:加载验证码 js 的时间导致白屏。
空白层形成原因是页面没有内容时,加载的 webview 就显示出来,需要等待 ready 事件触发后再进行 webview 展示。
因此,Android 需要先加载页面但不进行展示,等待 ready 回调后,再通知 Android 进行展示。
验证码根据容器宽高进行居中显示,验证码显示不完整可能由于容器本身设置较宽,导致展示的验证码被截断,该情况需要对客户端的弹框进行调整。此外随意加载其他 webview 都可能会出现截断的情况。
初始化验证码对象时,将 options 提供的配置参数 type 设置为 embed 。
复制成功new TencentCaptcha(element, CaptchaAppId, callback, {type: 'embed'});
示例代码
复制成功<div id="tc"></div> <script> //初始化验证码对象,将验证码绑定到id为‘tc’的容器元素中 new TencentCaptcha(document.getElementById('tc'),CaptchaAppId,callback,{type:'embed'}).show() </script>
如果使用嵌入式,容器元素在界面里找不到会报错。
支持。通过H5的方式接入,接入方式请参见 Web 客户端接入。
如果要使用,请使用行为验证码V2进行接入,JS地址为https://captcha.253.com/TJCaptcha.js。
V1仅支持使用 小程序插件 进行接入,验证码不支持以内嵌 Web 页面的方式接入。
支持。
当 WebView 组件使用内嵌 HTML 内容时,由于没有明确的域名来源,浏览器会将其视为 null 或 file:// 协议。这会导致风控系统将此类设备上报为异常设备。在使用内嵌 HTML 时,建议通过设置 baseUrl 来指定一个合法的域名来源。 配置示例如下:
复制成功<WebView source={{ html: captchaHtml,// html 字符串模板 baseUrl: '***' // 使用任意合法域名 }} ....// 其他必要配置 />
票据校验接口超时时间为5秒。
有效时长为5分钟,若超过5分钟再进行核验票据,接口会返回"CaptchaCode": 8;"CaptchaMsg": "verify timeout"的报错。
当前暂不支持手动设置后端票据校验过期时间,后端 ticket 有效时长为5分钟。
初始化验证码 SDK 时,修改以下内容。
复制成功var captcha = new TencentCaptcha("appid",callback,{loading:false})
目前验证码接入只支持用 script 动态接入,如通过 xhr、fetch 请求接入将会出现 CORS 跨域错误。
初始化验证码 SDK 时,修改以下内容。
复制成功/** embedEleDom:指定渲染验证码区域dom元素 */ var embedEleDom=document.getElementById('embedEleDom'); var captcha = new TencentCaptcha(embedEleDom, appid, callback, {type:"embed"})
当 loading 为 false 时,只有弹出式验证码码形生效,内嵌式无法取消 loading 效果。
基于客户端验证量计费方式进行计费。每进行一次前端验证,即会产生计费。