> >

宕机描述

极验一直极力避免因极验服务宕机导致业务发生中断,但是有可能遭遇不可抗力导致请求极验服务失败。如果发现请求极验的文件或者前端发送数据失败,说明有可能极验的服务宕机。

极验在以前的版本中设定了强制server校验,增加了每次请求逻辑的复杂度。目前极验的服务稳定性已达到99.99%以上级别,因此在目前版本中不再做宕机的强制流程,交由客户的server自行处理,以适应业务需求。

Deepknow 定位为一款风险感知类产品,产品设计中默认不主动检测宕机,因此不建议客户在业务中耦合风险判断逻辑,而是在业务流程中对风险做匹配处理。

宕机检测接口

Deepknow 提供了状态存活接口:http://api.geetest.com/gettype_deepknow.php

1. 接口参数

完整请求示例:http://api.geetest.com/gettype_deepknow.php?gt=用户后台申请的极验id&callback=geetest_1533527111723

字段名 参数 示例
gt 极验用户后台申请的极验部署id 32位字符串
callback 时间戳 geetest_1533527111723

2. 接口返回:

此接口将检测极验的 id 配置库及服务状态是否存活,如果极验服务正常,会返回如下格式:

geetest_1533015809433({
status: "success",
data: {
path: "/static/js/sense.1.0.4.js",
static_servers: [
"static.geetest.com",
"dn-staticdown.qbox.me"
],
type: "sense"
}
})

接口意义

  • 此接口对极验的库状态及服务状态做了检测,确保极验服务正常才会返回正确结果。
  • 此接口将返回当前极验服务的静态文件版本号

如何做宕机检测

被动检测

业务方需要自行在前端检测错误标识。

极验会对前端的引导请求做了服务检测,如果链接中断,会抛出异常,可以在onError接口中监听。获得请求中断标识后,请直接对业务走正常流程,同时通知 server 极验已经宕机。

心跳检测

业务方需要主动在服务器发起宕机心跳检测。

在前端加载 Deepknow 之前,业务方 server 可自行使用http://api.geetest.com/gettype_deepknow.php 接口,如果返回200代表极验服务正常,如果发生异常,建议业务方对极验服务做宕机处理。

宕机处理方法

当确认极验服务宕机后,可以使用如下建议的处理方法:

  1. 加载自有的备用检测流程,比如启用短信验证、密保验证等。
  2. 正常跳过检测,但是对用户做特殊标记处理。

注意事项:为防止前端请求可能被篡改,黑产利用宕机流程绕过检测,建议以 server 检测服务为宕机标准。且对宕机通过的用户做标记处理,因为极验发生宕机的可能性极低。