Simon Willison · 博客

至少一个&符号上的Cloudflare CAPTCHA

Cloudflare CAPTCHA on at least one ampersand

二〇二六年六月十六日 · 英文原文

Cloudflare 的 CAPTCHA(现称 Managed Challenge)默认会拦截所有搜索请求,包括简单查询。用户通过 Cloudflare API 配置了一条自定义规则,使 CAPTCHA 仅对包含至少一个 `&` 符号的搜索 URL 触发,例如 `(http.request.uri.path wildcard r"/search/*" and http.request.uri.query contains "&")`。此后,`/search/?q=lemur` 等简单搜索不再触发验证。用户曾尝试使用 Cloudflare MCP 与 Claude Code 编辑规则,但未成功,最终改用 Cloudflare API 完成配置。

TIL:Cloudflare 的 CAPTCHA 至少在一个 & 符号上生效

我一直在使用 Cloudflare 的 CAPTCHA(他们现在称之为"Web Application Firewall > Custom rules > Managed Challenge")来防止爬虫过度抓取本站的分面搜索引擎,但我已经受够了连简单的 ?q=term 搜索都会触发验证。在折腾了一番 Claude Code 之后,我发现可以注册以下规则,这样 CAPTCHA 只会在包含至少一个 & 符号的搜索 URL 上触发:

(http.request.uri.path wildcard r"/search/*" and http.request.uri.query contains "&")

现在 /search/?q=lemur 可以正常访问,不会再触发 CAPTCHA 了!

附注:尝试使用 Cloudflare MCP 与 Claude Code 的笔记,不过它似乎无法编辑相关规则,所以我让 Claude Code 转而使用 Cloudflare API。

标签:captchas, cloudflare, model-context-protocol, claude-code

译自 Simon Willison · 博客 · 录于 二〇二六年六月十六日