更新时间:2026-08-21 17:58:39
阅读时间: 约 6 分钟
前置条件: 域名已接入,Bot 管理总开关已开启
业务流检测是基于“业务逻辑”打造的主动防御功能。它的核心原理是“正常用户必然遵循一定的行为轨迹”。通过分析客户端在一定时间窗口内的访问次数与资源分布特征(如:是否孤立访问某API,动静态资源请求比例是否畸形等),精准识别并拦截绕过前端页面、直接通过脚本调用核心接口的异常Bot行为。
它解决的问题是:高级Bot为降低成本和隐藏自身,常常会采用低频、分布式的攻击手法,导致传统访问频率限制失效。而正常用户的访问行为有其逻辑连贯性,Bot通常无法完整模拟这种行为链路。
正常用户行为: 真实用户通过浏览器访问网页时,浏览器会自动加载大量的静态资源(.js, .css, 图片等)以及少量动态接口。因此,访问资源的类型是广泛分布的,GET/POST请求也有合理的比例。
Bot行为: Bot大多不需要渲染完整页面,通常只请求动态接口,静态资源请求占比极低,甚至全部都是POST请求。
检测机制:系统支持检测统计周期内的总请求量、GET/POST请求量以及不同资源请求占比。当发现某客户端的动态请求占比畸高,或GET/POST比例严重失调时,判定为 Bot 并予以拦截。
正常用户行为: 真实用户操作业务(如订票)时,会触发一系列关联接口。在一段时间内,既会有查询接口的请求,也会有下单接口的请求。
Bot 行为: 为了追求效率最大化,Bot通常写死脚本,孤立地、直接地调用核心下单接口。
检测机制:系统分析统计周期内客户端的总请求数或其他关联URL的请求数。如果发现某客户端高频请求了“下单API”,但“查询API”的请求量为0,则判定为孤立的非法调用并予以拦截。
| 配置项 | 说明 |
|---|---|
| 规则名称 | 便于识别的规则标识 |
| 防护目标 | 需要保护的目标接口路径或URI(支持完整匹配或正则) |
| 应用场景 | Web场景或API场景 |
| 触发条件 | 统计周期 + 基准维度(如客户端IP)+ 访问次数条件 |
| 处理动作 | 监控/拦截/自定义响应 |
业务背景: 网站管理员希望保护核心订票接口 /booking.do(此接口被黑灰产盯上,经常被脚本直接批量调用)。
安全防线设计: 真实访客在访问 /booking.do前,必然会访问前置的验证码获取接口 /get_verification 。如果在 300秒内,某个IP直接调用了订票接口,却没有调用过验证码接口,视为非法脚本并予以拦截。
规则配置:
/booking.do/get_verification 小于1/booking.do 大于等于1效果: 访客直接调用订票接口但从未请求验证码接口时,系统判定为异常脚本并拦截。
建议: 首次配置时,先将处理动作设为监控,确认规则运行符合预期后再切换为拦截,避免误伤正常用户。