如何在Cloudflare中配置网站开启免费机器人验证?
在互联网上,恶意机器人流量可能会影响网站的安全性和性能,导致垃圾评论、恶意爬取、DDoS 攻击等问题。Cloudflare 提供了一些 免费的 方式来帮助网站管理员减少恶意机器人访问,而无需升级到付费计划。本文将介绍如何利用Cloudflare的免费功能,有效开启机器人验证。
一、使用Cloudflare防火墙规则拦截机器人
Cloudflare 免费计划允许你创建最多 5 条防火墙规则,可以用来阻止或挑战可疑的机器人流量。
配置防火墙规则
- 登录 Cloudflare 并选择你的网站。
- 在左侧菜单,点击 “Security”(安全)。
- 选择 “WAF”(Web 应用防火墙)。
- 找到 “Firewall Rules”(防火墙规则),点击 “Create Firewall Rule”(创建防火墙规则)。
设置规则条件(例如拦截 User-Agent 或 IP):
示例 1:拦截常见的恶意机器人 User-Agent
- 字段(Field):
User Agent
- 运算符(Operator):
contains
(包含) - 值(Value):
bot
(或curl
、scrapy
等爬虫工具) - 执行操作(Action):选择 “JS Challenge”(JavaScript 挑战)或 “Captcha”(验证码)
示例 2:拦截短时间内访问次数过多的 IP
- 字段:
IP Address
- 运算符:
known bot
(已知机器人) - 执行操作:
Block
(阻止)或Captcha
(验证码)
- 字段(Field):
- 保存规则并启用,防火墙规则生效后,Cloudflare 会根据设定的条件拦截或挑战机器人流量。
二、启用Cloudflare的“机器人战斗模式”(Bot Fight Mode)
Cloudflare 免费版提供了一个简单易用的功能——Bot Fight Mode,可以自动检测并拦截已知的恶意机器人。
启用方法:
- 登录 Cloudflare 控制面板,选择你的网站。
- 在左侧菜单,点击 “Security”(安全)。
- 进入 “Bots”(机器人)页面。
- 找到 “Bot Fight Mode”,将其开启。
🔹 优点:
- 自动检测并阻止已知的恶意机器人,减少垃圾流量。
- 不会影响 Google、Bing 等合法搜索引擎爬取网站。
- 完全免费,无需复杂设置。
三、使用“挑战页面”对可疑流量进行验证码验证
如果你想要对某些特定的流量进行机器人验证(例如验证码),可以利用 Cloudflare 的 挑战页面(Challenge Page)。
如何设置验证码挑战?
- 进入 Cloudflare 控制台,选择你的网站。
- 进入 Security > WAF > Firewall Rules(防火墙规则)。
- 点击 Create Firewall Rule(创建规则)。
- 添加规则条件(如访问频率、国家/地区、User-Agent)。
- 选择“Managed Challenge”(托管挑战)或 “Captcha”(验证码)。
- 保存规则,Cloudflare 会自动向可疑流量显示验证码页面。
✅ 适用场景:
- 防止机器人频繁访问登录页面(如
wp-login.php
)。 - 限制来自某些国家/地区的机器人流量。
- 阻止使用爬虫工具(如 Scrapy、Curl)的大量访问。
四、启用速率限制(Rate Limiting)
如果某个 IP 在短时间内访问过多次,可以使用 速率限制 来自动拦截异常流量。
如何配置速率限制?
- 进入 Cloudflare > Security > WAF > Rate Limiting Rules。
- 创建新规则:
- 路径(Path):
/login.php
(或/wp-admin
等重要页面) - 请求次数(Requests per minute):设置为 10~20 次/分钟
- 执行操作:选择
Challenge
(挑战)或Block
(阻止)
- 路径(Path):
- 保存并启用。
这样,当某个 IP 在 1 分钟内多次请求该页面时,Cloudflare 会自动触发验证码或拦截,减少机器人攻击的风险。
五、配置 JavaScript 挑战保护网站
JavaScript 挑战(JS Challenge)是 Cloudflare 提供的一种轻量级反机器人机制。它会在用户访问页面时自动运行一个短暂的 JavaScript 代码,以检测访问者是否为机器人。
如何设置 JavaScript 挑战?
- 进入 Cloudflare 控制面板。
- 打开 Security > WAF > Firewall Rules。
- 创建新的防火墙规则,条件选择:
- User-Agent 包含“bot”
- IP 地址属于高风险区域
- 选择 “JS Challenge” 作为执行操作。
- 保存规则并开启。
这样,普通用户不会受影响,而恶意机器人(无法执行 JavaScript)将被阻挡。
六、对比
Cloudflare 免费版虽然不提供高级的 Bot Management,但可以利用 防火墙规则、Bot Fight Mode、挑战页面、速率限制 等方式,有效减少恶意机器人流量。
方法 | 适用场景 | 适用用户 |
---|---|---|
防火墙规则 | 阻止特定 User-Agent/IP | 适合所有用户 |
Bot Fight Mode | 自动拦截恶意机器人 | 适合所有用户 |
挑战页面 | 通过验证码拦截可疑流量 | 适合所有用户 |
速率限制 | 限制短时间内的访问频率 | 适合所有用户 |
JavaScript 挑战 | 阻止不会运行 JS 的机器人 | 适合所有用户 |
🔹 推荐搭配使用:
- 开启 Bot Fight Mode,拦截已知恶意机器人。
- 创建防火墙规则,针对可疑 User-Agent、IP 添加验证码挑战。
- 启用 JavaScript 挑战,防止自动化爬虫工具。
- 配置速率限制,防止 DDoS 和暴力破解攻击。
通过这些免费功能,你可以在不花费任何费用的情况下,有效提升网站安全性,防止恶意机器人访问! 🚀
评论
New Comments
利用Cloudflare的免费功能不仅可以有效减少恶意机器人流量,还能提升网站的整体性能和安全性。对于任何网站管理员来说,这些工具都是不可或缺的。