Cloudflare 防 CC/机器人攻击完整解决方案:用 WAF 托管质询 + “已知自动程序=true” 稳定解决 WordPress CPU/内存 100%

Cloudflare 通用防护目标(只用 Cloudflare,适配所有服务器)

该方案只在 Cloudflare 侧完成,不依赖服务器类型、面板或 root 权限,目标是:

  1. 不长期依赖 Under Attack(仅作为应急开关)
  2. 通过 WAF 规则把高频机器人/CC 流量挡在边缘
  3. 重点保护 WordPress 高风险入口(wp-login、admin-ajax、xmlrpc)
  4. 通过事件数据持续迭代规则,保持长期稳定


一、Cloudflare 基础前置(必须)

1. DNS 全部走代理(橙云)

  • 网站主域名、www 以及对外访问的记录,全部开启 Proxied(橙云)
  • 不保留任何灰云直连源站记录,避免绕过 Cloudflare 直打源站

2. 打开 Bot 相关防护

  • Bot Fight Mode / Bot 防护相关开关开启
  • 安全级别不建议设置过低

二、WAF 规则最佳顺序

以下规则建议按顺序创建(从“减少误伤”到“精准拦截”):

规则的核心思想是:先放行可信流量 → 再统一拦截机器人 → 再保护高风险入口 → 最后黑名单补刀。

规则 1:白名单(管理员/公司网络/可信 IP)

名称:Whitelist Trusted IPs
匹配条件:管理员公网 IP(或固定办公网络 IP 段)
操作:Allow / Skip(跳过安全检查)

用途:避免管理员登录后台、发布内容时被反复质询,减少误伤。


规则 2:自动程序(已知自动程序 = true)托管质询

名称:Known Bots Challenge
匹配条件:已知自动程序 等于 true(通常为 cf.client.bot eq truecf.client.bot
操作:托管质询(Managed Challenge)

用途:对 Cloudflare 能识别出的自动化流量进行挑战,快速削减机器人请求带来的压力。

说明:这是“救火效果很强”的通用策略。后续如果想更偏 SEO,可把此规则调整为 Allow/Skip,并把挑战重点放到高风险路径与限速策略上(可选优化,不是必需)。

规则 3:直接阻止 XML-RPC(强烈推荐)

名称:Block XML-RPC
匹配条件http.request.uri.path eq "/xmlrpc.php"
操作:Block

用途:xmlrpc.php 是常见被刷入口之一,很多站点并不需要它,直接阻止最省心。


规则 4:wp-login 只挑战 POST(对正常访问影响更小)

名称:wp-login POST Managed Challenge
匹配条件(http.request.uri.path eq "/wp-login.php" and http.request.method eq "POST")
操作:托管质询(Managed Challenge)

用途:只对登录提交动作挑战,既能挡暴力破解/脚本登录,又尽量不影响正常访问。


规则 5:admin-ajax 托管质询(防刷防拖死)

名称:admin-ajax Managed Challenge
匹配条件http.request.uri.path eq "/wp-admin/admin-ajax.php"
操作:托管质询(Managed Challenge)

用途:大量机器人会刷 admin-ajax 触发 PHP/数据库高负载,用挑战显著减压。
(不建议直接 Block,避免误伤前台依赖 admin-ajax 的功能。)


规则 6:阻止指定恶意 User-Agent(模板规则,持续扩展)

名称:Block Bad User-Agents
匹配条件:把已确认的恶意 UA 逐条加入(OR 组合)
操作:Block

用途:对明确恶意工具/脚本直接封禁,减少重复攻击成本。


三、Rate Limiting(如果可用:效果会更稳)

如果套餐/控制台支持 Rate Limiting(限速),建议对以下路径加“每 IP 阈值”:

  • /wp-login.php(POST):例如 10 次/分钟/IP → Challenge 或 Block
  • /wp-admin/admin-ajax.php:例如 60 次/分钟/IP → Challenge
  • 搜索参数(如 ?s=):例如 30 次/分钟/IP → Challenge
  • /wp-json/(如不依赖 REST):例如 60 次/分钟/IP → Challenge

建议策略:先 Challenge 观察是否误伤,再逐步收紧到 Block。


四、Under Attack 模式的正确使用方式(应急按钮)

  • 日常:保持 Under Attack 关闭
  • 攻击峰值:临时开启 Under Attack 30–120 分钟救火
  • 峰值过去:关闭 Under Attack,继续依赖上述精细规则长期运行

五、如何用 Cloudflare Events 持续迭代(只靠 Cloudflare 即可闭环)

该方案不需要服务器日志,长期维护只看 Cloudflare 侧数据即可:

  1. 观察命中最多的规则(确认主要压力来源)
  2. 看 Top 目标路径(URL)是否集中在 wp-login/admin-ajax/xmlrpc 或其他路径
  3. 看 Top 国家/ASN/UA(必要时新增更精确的挑战/阻止规则)
  4. 新出现的恶意 UA 进入“UA 黑名单”规则
  5. 新出现的高频路径进入“Managed Challenge + Rate Limit”组合

六、最终可复制的“规则清单”(直接用)

顺序名称匹配条件操作
1白名单可信 IPip.src in {trusted IPs}Allow / Skip
2已知自动程序cf.client.bot eq trueManaged Challenge
3禁用 XML-RPCpath eq /xmlrpc.phpBlock
4wp-login 防爆破path eq /wp-login.php AND POSTManaged Challenge
5admin-ajax 防刷path eq /wp-admin/admin-ajax.phpManaged Challenge
6恶意 UA 黑名单http.user_agent in {...}Block
7限速(可选)登录/ajax/搜索/APIChallenge/Block

FAQ(只给可执行结论)

1)为什么“已知自动程序=true”能显著降低负载?

因为大量压力来源本质是自动化访问,挑战后会被筛掉或降频,从而减少回源请求与动态计算压力。

2)只做 wp-login 和 admin-ajax 够吗?

通常不够。建议至少加上:已知自动程序挑战 + xmlrpc 阻止,必要时再上限速。

3)担心误伤怎么办?

先做三件事:

  • 加白名单(自己 IP)
  • wp-login 只挑战 POST
  • admin-ajax 用 Challenge 不用 Block
    然后通过 Events 观察真实影响,再逐步收紧策略。

结论

该解决方案完全在 Cloudflare 完成,适用于所有服务器环境:
通过“白名单 → 已知自动程序挑战 → xmlrpc 阻止 → wp-login/admin-ajax 保护 → UA 黑名单 →(可选)限速 → Under Attack 应急”这一套组合,可稳定解决网站被刷导致的 CPU/内存 100%、关闭 Under Attack 立刻变慢的问题,并且可通过 Cloudflare Events 持续迭代长期有效。

Read more

【ROS 2】运行 ROS 2 机器人 ( ROS 2 机器人示例 - 海龟仿真器 | ROS 节点分析工具 - rqt | ros2 run 命令解析 | ros2 run 基础格式和完整格式 )

【ROS 2】运行 ROS 2 机器人 ( ROS 2 机器人示例 - 海龟仿真器 | ROS 节点分析工具 - rqt | ros2 run 命令解析 | ros2 run 基础格式和完整格式 )

文章目录 * 一、ROS 2 机器人示例 - 海龟仿真器 * 1、启动海龟仿真器节点 * 2、启动控制节点 * 3、ROS 节点分析工具 - rqt * 二、ros2 run 命令解析 * 1、设计理念 * 2、ros2 run 基础格式 * 3、ros2 run 完整格式 * 4、启动海龟仿真器命令分析 在上一篇博客 【ROS 2】ROS 2 Humble 完整环境配置 ( VirtualBox 7.2.4 + Ubuntu 22.04.5 LTS + ROS 2

医疗送药机器人“空间拓扑优化+动态算法决策+多级容错控制”三重链式编程技术解析与应用

医疗送药机器人“空间拓扑优化+动态算法决策+多级容错控制”三重链式编程技术解析与应用

一、引言 1.1 研究背景与意义 在医疗体系中,高效精准的药品配送是保障医疗服务质量和患者安全的关键环节。随着医疗技术的不断进步和医疗需求的日益增长,传统的人工送药方式逐渐暴露出诸多弊端,如配送效率低下、易受人为因素干扰导致错误率上升、人力成本高昂等。特别是在大型综合医院,科室众多、布局复杂,药品配送路径长且需经过多个区域,这使得人工送药的难度和工作量大幅增加,进而影响医疗服务的及时性和准确性。 医疗送药机器人的出现为解决这些问题提供了新的途径。它能够在医院复杂的环境中自主导航,按照预设的路径和时间准确地将药品送达指定地点,极大地提高了药品配送的效率和准确性。通过自动化的配送流程,送药机器人可有效减少人为因素造成的错误,如拿错药、送错药等情况,从而保障患者的用药安全。同时,送药机器人的应用还能将药师和护士从繁琐的药品配送工作中解放出来,使其能够将更多的时间和精力投入到临床药学服务和患者护理工作中,提高医疗服务的整体质量。 “空间拓扑优化 + 动态算法决策 + 多级容错控制” 三重链式编程技术的提出,为医疗送药机器人性能的进一步提升带来了革命性的突破。空间拓扑优化技术能够对医院的

QUEST一体机游戏下载和安装教程:SideQuest详细使用方法 QUEST一体机游戏安装教程、SideQuest使用方法、QUEST未知来源游戏安装、VR一体机安装APK、SideQuest安装O

QUEST一体机游戏下载和安装教程:SideQuest详细使用方法 QUEST一体机游戏安装教程、SideQuest使用方法、QUEST未知来源游戏安装、VR一体机安装APK、SideQuest安装O

QUEST一体机游戏下载和安装教程:SideQuest详细使用方法 SEO关键词:QUEST一体机游戏安装教程、SideQuest使用方法、QUEST未知来源游戏安装、VR一体机安装APK、SideQuest安装OBB数据包 在使用 QUEST 一体机过程中,很多用户会遇到一个问题:如何安装本地 APK 游戏?如何处理 OBB 数据包?安装后在哪里打开? 本文将完整梳理: * SideQuest 下载地址 * APK 安装流程 * OBB 数据包复制方法 * 游戏打开位置说明 内容尽量结构化说明,便于快速操作。 一、SideQuest中文版下载地址 下载地址: [https://pan.quark.cn/s/0b20dec578a3](https://pan.quark.cn/s/0b20dec578a3 建议转存后下载,避免因下载中断导致安装失败。 二、安装前准备 在正式安装前,请确认:

AI Agent开发第86课-讲透知识图谱Neo4j在构建Agent时到底怎么用(一)

AI Agent开发第86课-讲透知识图谱Neo4j在构建Agent时到底怎么用(一)

前言 知识图谱常被误解为一堆实体和关系的静态集合,实则不然。它的本质是一种结构化的语义网络,用“实体-关系-实体”的三元组形式,刻画现实世界中对象之间的复杂关联。这种建模方式天然贴近人类认知逻辑——我们理解“苹果”不仅因其属性(红色、甜),更因它与“水果”“乔布斯”“iPhone”等概念存在上下位、创始人、品牌等不同语义关系。传统关系型数据库以表结构存储数据,在表达这类多跳、异构、动态的关系时显得力不从心,JOIN 操作成本随关联深度指数级增长。图数据库的出现正是为了解决这一根本矛盾。 Neo4j 作为主流图数据库代表,将数据直接建模为节点与关系,查询时沿着连接路径遍历,时间复杂度与路径长度相关,而非全表扫描。这使得在智能 Agent 构建中,当需要基于多层因果、上下文或隐含关联进行推理决策时,Neo4j 能提供毫秒级响应。笔者认为,Agent 的“智能”不仅体现在大模型的语言生成能力,更在于其能否基于可靠、可追溯的知识结构进行逻辑推演。知识图谱配合 Neo4j,