Web风险检测是一种无感验证策略,通过基于JavaScript的Web SDK针对性提升Web浏览器场景下的Bot识别和对抗能力,适用于Web/H5网页(包括APP及小程序中通过内置浏览器在线加载的网页)。
注意: 启用该功能后,云安全平台将自动在所有HTML页面中引用该JS SDK,请关注页面兼容性或者提前预部署验证。
JS SDK会采集三类信息:
- 浏览器基础信息:浏览器的语言、屏幕分辨率、时区等。
- 环境风险信息:检测浏览器端是否使用了诸如Webdriver之类的自动化工具。
- 用户交互行为事件:键盘、鼠标、触屏事件。JS SDK只会采集与个人隐私无关的信息,不会采集具体输入的内容。
云安全平台在响应阶段嵌入的JS SDK如下:
| JS SDK |
缓存时长 |
| /_fec_sbu/hxk_fec_[version].js |
30 days |
云安全平台在请求阶段新增的Cookie如下:
| Cookie名称 |
持续时长 |
适用协议 |
Secure |
HttpOnly |
| FECW |
10 years |
HTTPS |
√ |
× |
| FECA |
Session |
HTTPS |
√ |
× |
| FECN |
10 years |
HTTP |
× |
× |
| FECG |
Session |
HTTP |
× |
× |
另外,云安全平台针对本站下的异步接口请求还会添加如下URL令牌:
| 令牌名称 |
示例 |
| FECU |
http://www.example.com/test.html?id=1&FECU=[value] |
操作步骤
- 登录CDNW控制台,在已开通产品下,找到正在使用的安全产品并点击进入。
- 前往防护配置>安全策略页面。
- 定位到要配置安全策略的域名,点击
,进入安全策略编辑页面。
- 选择Bot管理页签,如果Bot管理已关闭,请先开启。
- 在Web风险检测下开启相关检测功能。
配置项说明
- 浏览器特性验证:基础功能,不支持单独关闭。当场景化检测开启且Web风险检测处理动作不是“不使用”时,持续验证客户端是否具备Cookie和JavaScript特性。当Web风险检测的处理动作为“拦截”时,实际该策略的处理动作将会是自适应的。对于一般GET请求,如果云安全平台发现验证未通过,将自适应发起“人机挑战”,对能够通过验证请求将被放行,而不会直接被拦截。
- 自动化工具检测:启用后,持续对客户端环境进行检查,验证请求是否由已知的自动化工具发起(包括Webdriver、PhantomJS等)。对于异常请求,将依据配置的处理动作处置。
- 破解行为检测:启用后,持续监控浏览器端是否正在尝试对核心代码进行破解。对于异常请求,将依据配置的处理动作处置。
- 页面反调试:启用后,JS SDK会持续监控浏览器端是否打开了调试工具,并对调试行为加以干扰。
- 交互行为验证:启用后,持续检测页面的用户交互行为,对不满足实现业务最少交互次数的请求,将依据配置的处理动作处置。交互行为包含键盘、鼠标以及触摸屏的交互次数,不涉及具体的用户敏感信息。
- 验证URI:需要验证交互行为的URI。示例:/test?id=1。
- 最少交互次数:请求发出前,当前页面键盘按键事件计数、鼠标点击事件计数和触屏移动事件计数之和的最小值。
- 匹配方式:默认为完全匹配验证URI,选中时以正则表达式匹配验证URI。
注意:
- 在配置交互行为验证时,建议每条规则只验证一个URI。若使用正则匹配,需充分验证,避免匹配到非预期的URI。
- 填写“不需要嵌入JS的html页面”的同时,需将该页面上发起的POST请求和Ajax请求添加至“应用请求白名单”,否则将无法通过浏览器特性验证。正常情况下,不建议填写。填写前建议与您的技术支持专家进行确认。