QQ家园全站防挂刷系统说明
1. 系统概述
本系统采用四层渐进式防御架构,从页面请求级到具体操作级逐层拦截非正常访问(挂机脚本、刷量程序、自动化工具等)。所有计数和时间窗口均存储在全局变量中,不依赖数据库。
---
2. 四层防御体系
第1层:页面请求频率检测
| 项目 | 说明 |
|------|------|
| 规则 | 5秒时间窗口内超过15次请求 |
| 惩罚 | 重置用户 sid(书签),发送系统消息 |
| 特点 | 对未登录用户也生效
逻辑流程:
请求 → 读取全局变量
├─ 首次 → 初始化计数1,过期时间+5秒
└─ 已有记录
├─ 已过期 → 重置计数
└─ 未过期
├─ 计数>15 → 重置sid,发警告消息
└─ 计数+1
第2层:页面请求间隔一致性检测
| 项目 | 说明 |
|------|------|
| 规则 | 连续4次页面请求的时间间隔完全一致(50ms容差) |
| 惩罚 | 设置验证码标记(60秒有效) |
检测原理:
- 记录每次请求的时间戳
- 保留最近4个时间戳
- 计算3个相邻间隔,如果所有间隔之间的偏差 ≤ 50ms,判定为脚本
- 脚本工具通常使用固定间隔(如每500ms精准请求一次),容易被识别
第3层:全局脚本模式检测
| 项目 | 说明 |
|------|------|
| 规则 | 连续10次请求的平均间隔偏差 ≤ 300ms |
| 惩罚 | 设置验证码标记(60秒有效) |
特点:
- 每10秒执行一次
- 使用更大的检测窗口(10次)和更宽松的容差(300ms)
- 适合检测长时间稳定运行的脚本
第4层:操作级频率限制
| 项目 | 说明 |
|------|------|
| 调用方式 | 通过静态方法调用 |
| 存储键 |
4.操作级防刷的双重检测
4a. 间隔一致性检测
- 记录每次操作的时间戳到全局变量
- 保留最近4个时间戳,检测3个连续间隔是否完全一致(50ms容差)
- 检测到间隔一致 → 立即触发验证码,记录日志
4b. 频率计数检测
- 在指定时间窗口内统计操作次数
- 超过阈值 → 触发验证码,记录日志
5. 日志记录
所有防刷事件记录到 数据库表中:
---
6. 防御效果示例
| 攻击方式 | 被哪层拦截 | 说明 |
|----------|-----------|------|
| 高频刷页(每秒10次) | 第1层 | 5秒内>15次,重置sid |
| 固定间隔刷页(每2秒1次) | 第2层 | 连续4次间隔完全一致,弹出验证码 |
| 长时间稳定刷页 | 第3层 | 每10秒检测,10次请求间隔规律,弹出验证码 |
| 游戏操作快速点击 | 第4b层 | 10秒内>3次购买,弹出验证码 |
| 游戏操作固定间隔点击 | 第4a层 | 连续4次间隔完全一致,弹出验证码 |
| 验证码绕过尝试 | - | 验证码一次性使用,用完销毁 |
---




















