Files
vibe_coding/.cursor/skills/anti-scraping/SKILL.md
2026-03-05 21:27:11 +08:00

3.4 KiB
Raw Blame History

name, version, description
name version description
anti-scraping 4.0.0 为 PHP Hyperf + Vue 3 应用设计反爬虫防护。当需要防御 Bot、限流或保护 API 时使用。覆盖五个威胁层级。

🛡️ Anti-Scraping Protection — 全栈防爬体系

威胁分级与对应策略

等级 爬虫类型 典型工具 主要特征 防护策略
T1 简单脚本 curl, wget, Python requests 无 JS 执行,缺失必要 Header UA 过滤 + Header 检查
T2 爬虫框架 Scrapy, Playwright (无配置), httpx 自动处理 Cookie 但行为机械 Header 指纹 + 速率限制
T3 无头浏览器 Puppeteer, Playwright (配置过) 执行 JS 但 Canvas/WebGL 异常 浏览器指纹 + 行为分析
T4 分布式集群 自建集群 + 代理池 + UA 轮换 跨 IP 协同,单 IP 请求少 关联分析 + 蜜罐 + PoW
T5 AI 代理 LLM 控制的浏览器 / GPT 插件 接近真实用户但行为规律性高 多维指纹 + CV 分析 + 挑战

触发条件

用户询问防爬虫、限流、Bot 防护、爬虫识别、AI 爬虫、Scrapy 等关键词。

执行流程

Phase 0威胁评估

在实施前回答以下问题,确定防护等级:

问题 回答影响
保护目标API / 页面内容 / 数据资产) 决定防护位置Nginx / Middleware / Frontend
可接受的误伤率0.1% / 0.5% / 1% 决定阈值设定的松紧
是否有 CDN/WAF 可借用 WAF 能力,减少自研成本
业务是否允许验证码? 影响 CAPTCHA 降级策略
需要保护登录后内容还是公开内容? 决定是否使用前端指纹 Token

Phase 14前置与基础防护

  1. Phase 1 Nginx — UA 黑名单 map、limit_req/limit_conn直接拒绝已知 Bot
  2. Phase 2 指纹 — RequestFingerprintMiddleware 检查 UA/Header/Accept/Referer输出 risk_score
  3. Phase 3 限速 — RateLimitService 分层限速 + 请求间隔变异系数分析CV+ 子网关联分析
  4. Phase 4 IP — IpIntelligenceService 黑/白名单、TOR、数据中心、爬取广度HyperLogLog

Phase 56高级识别

  1. Phase 5 浏览器指纹 — 前端采集 Canvas/WebGL/音频/字体/鼠标,后端校验无头特征
  2. Phase 6 AI 代理 — 请求间隔 CV、只读模式、速度、UA 与语言不匹配

Phase 79对抗与响应

  1. Phase 7 PoW — 工作量证明挑战,真实用户 JS 自动计算
  2. Phase 8 蜜罐 — 前端隐藏字段 + 后端蜜罐路由
  3. Phase 9 综合 — AntiScrapingMiddleware 加权评分,差异化响应(封禁 / PoW / 延迟 / 假数据)

验证清单

  1. curl 请求 3 次内触发 403 或 429
  2. Python requests 默认 UA 被 Nginx 直接拒绝
  3. Scrapy 爬取 100+ 页面被封 IP
  4. Puppeteer无反指纹指纹得分 ≥ 60触发挑战
  5. 均匀间隔请求CV < 0.2)被 AI 行为分析识别
  6. 蜜罐路由访问后 IP 被封
  7. PoW 挑战前端正确求解difficulty=4约 2 秒内完成)
  8. 同 /24 子网 500+ 请求触发代理池标记
  9. 正常用户误触率 < 0.2%

Tier 3 深度参考

文件 内容
references/implementation-phases.md Phase 19 完整实现代码与 Redis 监控
references/anti-scraping-patterns.md 反爬模式与策略速查