如何在Cloudflare中配置网站开启免费机器人验证?

2025年3月29日

在互联网上,恶意机器人流量可能会影响网站的安全性和性能,导致垃圾评论、恶意爬取、DDoS 攻击等问题。Cloudflare 提供了一些 免费的 方式来帮助网站管理员减少恶意机器人访问,而无需升级到付费计划。本文将介绍如何利用Cloudflare的免费功能,有效开启机器人验证。

开启免费机器人验证

一、使用Cloudflare防火墙规则拦截机器人

Cloudflare 免费计划允许你创建最多 5 条防火墙规则,可以用来阻止或挑战可疑的机器人流量。

配置防火墙规则

  1. 登录 Cloudflare 并选择你的网站。
  2. 在左侧菜单,点击 “Security”(安全)。
  3. 选择 “WAF”(Web 应用防火墙)。
  4. 找到 “Firewall Rules”(防火墙规则),点击 “Create Firewall Rule”(创建防火墙规则)。

配置防火墙规则

  1. 设置规则条件(例如拦截 User-Agent 或 IP):

    示例 1:拦截常见的恶意机器人 User-Agent

    • 字段(Field)User Agent
    • 运算符(Operator)contains(包含)
    • 值(Value)bot(或 curlscrapy 等爬虫工具)
    • 执行操作(Action):选择 “JS Challenge”(JavaScript 挑战)或 “Captcha”(验证码)

    示例 2:拦截短时间内访问次数过多的 IP

    • 字段IP Address
    • 运算符known bot(已知机器人)
    • 执行操作Block(阻止)或 Captcha(验证码)

设置规则条件

  1. 保存规则并启用,防火墙规则生效后,Cloudflare 会根据设定的条件拦截或挑战机器人流量。

二、启用Cloudflare的“机器人战斗模式”(Bot Fight Mode)

Cloudflare 免费版提供了一个简单易用的功能——Bot Fight Mode,可以自动检测并拦截已知的恶意机器人。

启用方法:

  1. 登录 Cloudflare 控制面板,选择你的网站
  2. 在左侧菜单,点击 “Security”(安全)。
  3. 进入 “Bots”(机器人)页面。
  4. 找到 “Bot Fight Mode”,将其开启

🔹 优点

  • 自动检测并阻止已知的恶意机器人,减少垃圾流量。
  • 不会影响 Google、Bing 等合法搜索引擎爬取网站
  • 完全免费,无需复杂设置

Bot Fight Mode

三、使用“挑战页面”对可疑流量进行验证码验证

如果你想要对某些特定的流量进行机器人验证(例如验证码),可以利用 Cloudflare 的 挑战页面(Challenge Page)

如何设置验证码挑战?

  1. 进入 Cloudflare 控制台,选择你的网站。
  2. 进入 Security > WAF > Firewall Rules(防火墙规则)。
  3. 点击 Create Firewall Rule(创建规则)。
  4. 添加规则条件(如访问频率、国家/地区、User-Agent)。
  5. 选择“Managed Challenge”(托管挑战)或 “Captcha”(验证码)。
  6. 保存规则,Cloudflare 会自动向可疑流量显示验证码页面。

验证码挑战

适用场景

  • 防止机器人频繁访问登录页面(如 wp-login.php)。
  • 限制来自某些国家/地区的机器人流量。
  • 阻止使用爬虫工具(如 Scrapy、Curl)的大量访问。

四、启用速率限制(Rate Limiting)

如果某个 IP 在短时间内访问过多次,可以使用 速率限制 来自动拦截异常流量。

如何配置速率限制?

  1. 进入 Cloudflare > Security > WAF > Rate Limiting Rules
  2. 创建新规则
    • 路径(Path)/login.php(或 /wp-admin 等重要页面)
    • 请求次数(Requests per minute):设置为 10~20 次/分钟
    • 执行操作:选择 Challenge(挑战)或 Block(阻止)
  3. 保存并启用。

启用速率限制

这样,当某个 IP 在 1 分钟内多次请求该页面时,Cloudflare 会自动触发验证码或拦截,减少机器人攻击的风险。

五、配置 JavaScript 挑战保护网站

JavaScript 挑战(JS Challenge)是 Cloudflare 提供的一种轻量级反机器人机制。它会在用户访问页面时自动运行一个短暂的 JavaScript 代码,以检测访问者是否为机器人。

如何设置 JavaScript 挑战?

  1. 进入 Cloudflare 控制面板
  2. 打开 Security > WAF > Firewall Rules
  3. 创建新的防火墙规则,条件选择:
    • User-Agent 包含“bot”
    • IP 地址属于高风险区域
  4. 选择 “JS Challenge” 作为执行操作
  5. 保存规则并开启。

 JavaScript 挑战

这样,普通用户不会受影响,而恶意机器人(无法执行 JavaScript)将被阻挡。

六、对比

Cloudflare 免费版虽然不提供高级的 Bot Management,但可以利用 防火墙规则、Bot Fight Mode、挑战页面、速率限制 等方式,有效减少恶意机器人流量。

方法适用场景适用用户
防火墙规则阻止特定 User-Agent/IP适合所有用户
Bot Fight Mode自动拦截恶意机器人适合所有用户
挑战页面通过验证码拦截可疑流量适合所有用户
速率限制限制短时间内的访问频率适合所有用户
JavaScript 挑战阻止不会运行 JS 的机器人适合所有用户

🔹 推荐搭配使用

  1. 开启 Bot Fight Mode,拦截已知恶意机器人。
  2. 创建防火墙规则,针对可疑 User-Agent、IP 添加验证码挑战。
  3. 启用 JavaScript 挑战,防止自动化爬虫工具。
  4. 配置速率限制,防止 DDoS 和暴力破解攻击。

通过这些免费功能,你可以在不花费任何费用的情况下,有效提升网站安全性,防止恶意机器人访问! 🚀

4.2/5 - (4 votes)

2025年3月29日资源教程cloudflare