XF Surge Guard 减少了因未认证的访客和机器人请求模式而产生的 XenForo 浪费负载,防止它们继续消耗 PHP、MySQL 和 XenForo 资源。
它专为一个特定问题而设计:
访客、机器人、爬虫、扫描器或断链反复访问动态 XenForo URL,导致缺失路由、404 报告、权限失败或其他低价值响应。XenForo 仍然需要启动、路由、调度、查询并渲染响应,这些流量已经被证明是浪费的。
XF 浪涌保护监控符合条件的未认证请求,并在保护模式下暂时将高置信度废弃模式导出到轻量级早期自举保护器。
在后续匹配请求中,守卫可以在 XenForo 完全启动前回答。
这意味着 XenForo、PHP 和 MySQL 的浪费工作量更少。
它的作用
XF 浪涌保护会观察符合条件的未认证 GET/HEAD 请求,并检测访客流量浪费,例如:
- 软404访客请求
- 缺少动态 XenForo 路径
- 无效路由请求
- 故障严重的访客流量突发
- 重复的坏路径请求
- 扫描式探针与损坏的外部链接
- 高置信度请求模式,安全可暂时短路
当图案符合条件时,插件会将短命规则导出到 XenForo 的 src/config.php 加载的轻量级早期 bootstrap guard。
在后续匹配请求中,守卫可以在 XenForo 执行昂贵的路由、控制器调度、模板渲染、会话工作或数据库密集操作前返回极小的早期响应。
简单示例
一位嘉宾请求:
代码:
/some-bad-url
XenForo 正常启动并确认请求浪费,比如 404。
XF 浪涌保护系统记录了结果。
如果启用了守护模式,可以暂时管理该访客请求模式。
下一个匹配的访客请求可以在 XenForo 完全启动前提前回复。
这意味着 XenForo 不会一直把全部应用资源都花在同样一次性的请求模式上。
操作模式
- 残疾 ——没有观察,也没有提前执行。
- 观察 ——记录和分析符合条件的客人废弃物模式,但不会提前回答任何问题。
- 守护 ——为当前管理的废弃物模式提供短暂的早期保护。
观察模式很有用,当你想先看看 XF 浪涌防护能做到什么,然后再开启早期保护。守卫模式是 XenForo 完全启动前暂时解决排位模式的地方。
管理仪表盘
XF 浪涌保护仪包含一个实用的管理 CP 仪表盘,显示:
- 当前模式
- 州档案是否有效
- 有效的早期守护是否在进行
- 导出规则数量
- 自助状态
- 配置可写性
- 当前管理规则
- 为什么每条规则都被管理
- 请求计数、失败计数、客户数量、评分和到期时间
- 受管规则的手动释放控制
- 近期观察到的命中
- 近期警卫队事件
仪表盘是有意设计的诊断性设计,而不是臃肿的。
它显示了正在管理的是什么、为什么被管理、何时到期,以及早期自力防护是否健康。
当前管理规则
受管规则是导出用于早期引导保护的临时路径模式。
每条规则包括:
- 管理路径
- 它符合条件的原因
- 请求和失败计数
- 客户数量的近似
- 配乐
- 到期时间
- 手动释放动作
规则不是永久的封锁。
它们是短暂的保护条目,旨在减少在该模式需要保护的期间,反复或高信任度的客人请求浪费。
近期观察到的击中和警卫事件
XF 浪涌防护系统会为近期观察到的命中和近期警报事件记录有界的本地诊断日志。
这些系统并非旨在成为完整的交通分析系统。
它们的存在是为了确认插件看到了什么、管理了什么,以及守卫模式是否正常。
XenForo 故意不记录早期阻断请求,因为目的是避免对这些请求启动 XenForo。
安全第一设计
这个插件是故意谨慎的。
它使用:
- 短自动 TTL
- 出口守卫规则的硬性上限
- 失效开路行为
- 敏感路径的安全排除
- 手动释放控制
- 有界局部诊断
- 注重隐私的近似客户端密钥
默认的安全排除包括以下领域:
- 行政
- 安装与升级
- 登录、注销、注册和账户路径
- API 路径
- 支付路径
- 回调路径
- Webhook 风格路径
看起来像是登录 XenForo 用户的请求,通常可以通过 XenForo 发送。
为什么这很有用
许多论坛持续接收低价值的访客流量。
常见的例子包括:
- 旧的或损坏的附件网址
- 缺失的线程图像路径
- 无效路由请求
- 旧的 WordPress 扫描路径
- 机器人探针
- 损坏的外部链接
- 反复请求已不存在的内容
即使这些请求只返回 404 或其他简单错误,XenForo 仍可能需要启动应用程序、路由请求、创建响应并渲染错误页面。
一次糟糕的请求没什么大不了的。
一连串的错误请求会带来不必要的负载。
XF 的 Surge Guard 为 XenForo 提供了一个轻量级的表达方式:
“这种未经认证的请求模式已被证明是低价值的浪费。现在不要再把全部 XenForo 资源都花在上面了。”
它不是
XF 浪涌防护
器并非 :
- DDoS 防护服务
- Cloudflare 替代品
- 一个网页应用防火墙
- 一个 AI 机器人检测器
- 刮取指纹识别系统
- 国家或 ASN 阻断器
- 静态页面缓存
- 用户代理黑名单
它并不试图识别互联网上所有的恶意行为者。
它不能取代适当的网络层级保护。
它专注于一个更狭窄且更实用的工作:
减少动态访客请求的浪费工作,避免它继续占用 XenForo、PHP 和 MySQL 资源。
要求
- XenForo 2.1.0+
- PHP 7.2+
- 可书写的 internal_data
- 安装时可写的 src/config.php,或者如果无法自动插入,则手动插入引导模块
安装说明
XF Surge Guard 使用了 XenForo src/config.php 中的一个小的引导 include,这样它就能在 XenForo 完全启动前行动。
如果 src/config.php 在安装过程中可写,插件可以自动插入引导模块。
如果无法写入,仪表盘会显示引导状态,可以手动插入该块。