PHP 秒杀防机器人分层防御体系详解
是电商/营销场景中 高并发、高安全、高一致性 的典型挑战。其核心不是'阻止所有机器人',而是 通过成本与验证机制,让作弊成本远高于收益。
一、核心原理:机器人 vs 人
1. 机器人特征
| 行为 | 人类 | 机器人 |
|---|---|---|
| 请求频率 | 1–2 次/秒 | 100+ 次/秒 |
| 行为模式 | 随机延迟、鼠标移动 | 固定间隔、无交互 |
| 资源消耗 | 正常浏览器 | 轻量 HTTP 客户端 |
2. 防御目标
- 提高作弊成本:
- 机器人需模拟人类行为 → 开发成本 ↑
- 降低收益:
- 即使抢到,可能因验证失败而无效
💡 核心认知:
防机器人 = 增加验证步骤 + 限制资源 + 行为分析
二、分层防御体系(纵深防御)
第一层:前端人机验证(低成本拦截)
- 工具:Google reCAPTCHA v3 / 阿里云滑块验证
- 作用:
- 拦截 80% 简单脚本
实现:
<!-- 前端 -->
<script src="https://www.google.com/recaptcha/api.js?render=SITE_KEY"></script>
<script>
grecaptcha.ready(() => {
grecaptcha.execute('SITE_KEY', { action: 'submit' }).then(token => {
fetch('/seckill', {
method: ,
: .({ token })
});
});
});

