序列风控介绍¶
序列风控(Sequence-Based Request Control)按客户端对关键路径的访问顺序与时间间隔识别异常请求。您将登录、查询、转账、下单等接口标记为序列端点后,可在自定义规则中要求“必须按指定顺序访问”“两次操作之间必须间隔指定时间”,从而拦截乱序、跳过步骤或间隔异常的流量。跟踪与判定均在节点完成,无需改造源站。
应用场景¶
适用于需要保护固定业务流程的网站与 API:
- 业务流程保护:例如转账前必须先查询账户列表与余额,跳过或乱序访问时拦截。
- 识别自动化脚本:拦截没有任何前序访问、直接请求敏感接口的流量。
- 识别机器行为:两次关键操作之间间隔过短,判定为非真人操作。
- 配合人机验证:验证通过后,继续用序列规则约束后续操作。
以下情况不适合单独依赖序列风控:
- 尚未配置序列端点:端点表为空时,序列能力不生效。
- 跨域访问:序列状态仅适用于同域请求。
- 客户端不携带 Cookie 的调用:无法建立访问序列。
核心概念¶
| 概念 | 说明 |
|---|---|
| 序列端点 | 需要跟踪的关键业务路径,由请求方法、路径和域名共同定义。 |
| Op ID | 端点在规则中的标识,同一策略组内唯一。 |
| 当前操作 | 本次请求命中的端点;未命中任何端点时为空。 |
| 前序操作 | 本次请求之前已访问过的端点记录,用于判断访问顺序。 |
| 时间间隔 | 距某端点最近一次访问的时长,用于判断操作是否过快。 |
使用流程¶
- 规划需要保护的关键路径,在策略组的 端点管理 中配置序列端点。详见 配置序列端点。
- 在自定义规则中增加序列条件,先将动作设为 仅记录不拦截,观察命中是否符合预期。
- 确认无误后,再改为拦截、人机验证等处置动作。详见 使用序列风控条件。
说明:序列条件可与 IP、URI、Bot Score 等现有条件组合。命中后的动作与普通自定义规则相同,无需单独开通其他能力。
使用建议¶
- 先定义合法路径,再兜底拦截:把带完整顺序与间隔条件的放行规则放在前面,把针对同一敏感端点的拦截规则放在后面。不满足合法路径的请求由后者拦截。
- 先观察再处置:上线初期使用「仅记录不拦截」,确认正常用户路径后再启用拦截,降低误伤。
- 宽松与严格配合:复杂流程可先用「任一出现过」确认关键前置操作存在,再用「严格按序」校验紧邻关系。
- 间隔阈值预留余量:时间间隔受节点时钟精度影响,毫秒阈值建议略大于业务实际需要的最短间隔。
- 控制端点数量:建议按业务重要性配置 3–10 个端点;过长的业务流程可能超出序列窗口,条件无法命中。
能力说明¶
- 跟踪与规则匹配在节点完成,不增加源站处理负担。
- 被拦截的请求不会写入序列,只有放行的请求才会进入前序记录。
- 静态资源请求不参与序列,不会干扰业务路径判断。
- 用户清除 Cookie 或更换浏览器后,序列会重新开始。
- 移动网络等网络环境易变化的场景,建议优先使用「任一出现过」等宽松条件。
常见问题¶
序列风控会影响源站吗¶
不会。序列跟踪与规则判定均在节点完成,源站无需感知或改造。
用户清除 Cookie 后会怎样¶
序列会丢失,下一次请求视为首次访问,重新开始记录。
是否支持跨域请求¶
序列跟踪适用于同域请求。跨域请求可能无法延续访问状态,相关条件可能无法按预期命中。
如何确认规则是否按预期工作¶
建议先将动作设为 仅记录不拦截,走一遍目标业务流程,在命中日志中确认顺序与间隔判断符合预期后,再启用拦截或人机验证。