简介
极验提供智能、风控融合、无感探针三种验证模式选择,来适配不同的场景需求。
智能模式
验证形式配置
极验共提供一键通过、滑动、消消乐、五子棋、文字点选、语序点选、九宫格、图标点选八种验证形式,依据用户验证难度程度和安全对抗能力可分为三类:
| 验证类型 | 验证形式说明 |
|---|---|
| I类:一键通过 | 无需图形验证码校验,无法拦截异常请求,无感模式下推荐使用 |
| II类:滑动、消消乐、五子棋 | 用户体验较好,但受制于形式因素,安全对抗能力较弱 |
| III类:文字点选、语序点选、九宫格、图标点选 | 安全对抗能力强,其中以图标点选为最,但对真人也有一定验证难度 |
配置说明
| 配置类型 | 配置示例 | 验证逻辑 |
|---|---|---|
| 单选验证 | 滑动 | 指定弹出单选的验证形式如滑动 |
| 多选验证 | 滑动+文字+图标 | 在多选的验证形式中随机分配 |
| 智能验证 | 一键通过+图标 | 未命中策略规则的请求直接一键通过无需验证, 命中规则策略的请求弹出图形验证码交互验证 |
风控融合模式
适配场景
企业自有风控规则判断,能够对流量做出业务层面的风险分级,可依据企业风控判断的风险等级来接入指定不同的验证形式,例如无风险一键通过,低风险滑动,高风险图标点选。
时序图
风控融合模式流程时序图如下:

部署流程
1、选择风控融合模式
选择【配置管理】->【验证模式配置】,打开风控融合模式开关

2、服务端签名
当服务端对请求流量分配验证形式后,需要对风控融合参数进行签名后下发到客户端调用验证码,避免客户端验证形式被篡改伪造,签名后的风控融合参数示例为
(risk_type=slide|1653448724.8026078|aa0b7984de7b43d8a754fa6224bb18ab|9fd37764cdec43abf04e152c75b86ec97d6a280c8bfa924985bf66989af058eb)
,只有格式正确并且签名匹配时才能调起风控参数指定的验证,否则会校验失败返回异常信息。签名流程:
- 初始化签名元信息,包括验证类型、时间戳、随机字符串
- 用符号
|按顺序将验证类型、时间戳、随机字符串进行拼接作为原始信息,使用验证ID对应的秘钥进行hmac sha256签名 - 将原始消息和对应的签名用
|进行拼接得到最终的风控参数
代码示例:captcha_type = 'slide'
timestamp = str(time.time())
random = uuid.uuid4().hex
captcha_key = '7618a1cfd379b9c7ef753c2a24cdf02b'
msg = "|".join((captcha_type, timestamp, random))
sign = hmac.new(captcha_key.encode(), msg.encode(), digestmod='SHA256').hexdigest()
risk_type = '|'.join((msg, sign))
3、客户端接入
客户端初始化 init 时,通过配置参数 riskType 传入不同的验证形式参数,不同端侧配置示例如下:
Web
initGeetest4({ |
Android
将风控标识参数 riskType 添加在 setParams 接口中的 Map 集合中
HashMap<String, Object> hashMap = new HashMap<>(); |
iOS
在初始化验证会话时,指定 riskType
- (GTCaptcha4Session *)captchaSession { |
4、注意
- 接入风控融合模式请联系我们开启风控融合强校验,强校验后
risk_type参数不传、传空、传非法字符,验证流程会返回错误码及错误信息 - 签名需要在后端进行,后端生成签名参数后再下发到客户端
riskType枚举值说明:
| 参数 | 验证形式 |
|---|---|
| ai | 一键通过 |
| slide | 滑动拼图验证 |
| match | 消消乐验证 |
| winlinze | 五子棋验证 |
| nine | 九宫格验证 |
| word | 文字点选验证 |
| phrase | 语序点选验证 |
| icon | 图标点选类验证 |
无感探针模式
适配场景
不论是正常用户还是机器脚本的请求,客户端均不会弹出任何图形验证码,仅保留风险识别能力,并将风险识别结果通过 validate 请求返回至客户服务端,服务端可根据风险标签结果,再处理业务逻辑。
部署流程
1、打开无感探针模式
选择【配置管理】->【验证模式配置】,左上角选择对应的ID,打开无感探针模式开关

2、打开风险结果返回开关
配置管理->验证安全配置->高级安全配置,打开【端侧检测结果返回配置】、【模拟器检测结果返回配置】,【IP检测配置】如图:

打开参数配置开关后,极验会在二次校验validate请求的返回中增加相关返回信息,包括:
| 参数 | 类型 | 值 | 说明 |
|---|---|---|---|
| model_probability | int | 0/1 | 极验模型分析得出的机器脚本的识别结果; 1 代表该验证请求极有可能由机器脚本产生; 0 代表未识别出机器脚本特征 |
| web_simulator | int | 0/1 | 极验模型分析得出的web模拟器的识别结果; 1代表该验证请求极有可能由web模拟器产生; 0代表未识别出web模拟器特征 |
| ip_overtime | int | 0/1 | 后台检测IP频次检测结果; 1代表已超过设定的时间频次限制; 0代表未超过设定的时间频次限制 |
3、业务处理
再完成验证码二次校验 validate 请求后,根据请求结果和其内的上述参数结果,针对model_probability和web_simulator返回为 1 的请求可视为机器脚本请求,业务层进行权限降级、封禁、拦截等业务处理即可。