把善意与恶意爬虫分开
网站的自动化访问里,搜索引擎爬虫需要放行,内容抓取与价格爬取类爬虫需要限制,还有一类专门做撞库与批量下单的自动化工具需要拦截。难点在于它们的技术特征可以互相模仿:UA 能伪造,频率能压低,来源地址可以分散。因此判定要综合 UA、来源地址验证、访问频率与请求规律,而不是只看单一信号。
基本信息
| 适用平台 | WAF 的爬虫管理能力、CDN 与源站的限速策略配合 |
|---|---|
| 判定信号 | UA 与官方地址验证、IP 信誉、访问频率、请求规律与顺序 |
| 处置动作 | 放行、限速、发起验证挑战、封禁 |
| 合规前提 | 搜索引擎爬虫按其官方地址段核对,并尊重 robots 约定 |
典型使用场景
- 内容站点:文章被第三方批量抓取,影响流量与广告收益
- 电商与票务:价格与库存被高频抓取,需要限制但又要保留搜索引擎收录
- 账号安全:登录与注册接口遭遇自动化撞库尝试
- 活动抢购:脚本用户挤占正常用户名额,需要行为识别与验证
- 容量保护:低频但覆盖面极广的爬取消耗带宽与后端资源
处置分级示例
处置分级示例
搜索引擎爬虫(官方地址段验证通过) → 放行
一般爬虫(低频且遵守 robots 约定) → 限速,不封禁
高频抓取(无验证、集中抓取列表页与详情页) → 发起验证挑战
撞库与批量下单(多账号轮换、请求序列异常) → 拦截并告警
# 判定依据至少结合两项信号,避免单一特征被伪造绕过判定信号与可靠度
| 信号 | 可靠度 | 说明 |
|---|---|---|
| UA 字符串 | 低 | 可直接伪造,只能作为辅助 |
| 来源地址验证 | 中高 | 与官方公布地址段比对 |
| 访问频率与规律 | 中 | 需要结合业务正常基线 |
| 请求序列与页面覆盖 | 中高 | 批量抓取的特征较明显 |
| 验证挑战通过率 | 高 | 无法通过验证的多为脚本 |
UA 可以被任意伪造,把它作为唯一判据既会误伤也会被绕过;来源地址验证与行为特征才是更稳的判定依据。