Simon Willison's Weblog

Cloudflare CAPTCHA on at least one ampersand

7.0内容质量

TL;DR · AI 摘要

Cloudflare CAPTCHA 可通过设置规则仅在搜索 URL 包含 & 时触发,有效防止爬虫滥用。

核心要点

  • Cloudflare CAPTCHA 可通过规则 (http.request.uri.query contains "&") 仅在 URL 包含 & 时触发。
  • 该方法可防止爬虫滥用 faceted search 的复杂查询组合。
  • 使用 Claude Code 和 Cloudflare API 可实现规则配置。

结构提纲

按章节快速跳转。

  1. 作者在 simonwillison.net 上使用 Cloudflare CAPTCHA 防止爬虫滥用 faceted search

  2. 通过设置规则 (http.request.uri.query contains "&") 仅在 URL 包含 & 时触发 CAPTCHA。

  3. 使用 Claude Code 和 Cloudflare API 实现规则配置,避免简单搜索触发 CAPTCHA。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Cloudflare CAPTCHA 配置
    • 规则设置
      • 触发条件:URL 包含 &
      • 防止爬虫滥用 faceted search
    • 实现工具
      • Claude Code
      • Cloudflare API

金句 / Highlights

值得收藏与分享的关键句。

#Cloudflare#CAPTCHA#Web安全#爬虫防护
打开原文

TIL:至少一个“与”符号触发 Cloudflare CAPTCHA

Simon Willison 的博客

订阅

#smallhead

由以下公司赞助:

Teleport

— 防止访问瓶颈。统一身份。Teleport 用一个安全团队信任、工程师愿意使用的单一身份层,取代了碎片化的身份和访问工具。

2026年6月16日

TIL

至少一个“与”符号触发 Cloudflare CAPTCHA

— 我在 simonwillison.net/search/ 上使用了 Cloudflare 的 CAPTCHA(他们称之为“托管挑战”),以防止爬虫程序追踪我网站上所有可能的 分面搜索 界面组合。

我使用 Cloudflare 的 CAPTCHA(现在他们称之为“Web 应用程序防火墙 > 自定义规则 > 托管挑战”)来防止爬虫程序对本网站的分面搜索引擎进行激进的爬取,但我对即使简单的 ?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 无法编辑相关规则,于是 Claude Code 转而使用了 Cloudflare API。

发布于

凌晨 12:21

最近的文章

  • 将 WASM 轮子发布到 PyPI 以供 Pyodide 使用 - 2026年6月13日
  • Claude Fable 坚持不懈地积极进取 - 2026年6月11日
  • 对 Claude Fable 5 的初步印象 - 2026年6月9日

#primary

这是 Simon Willison 于 2026年6月16日 发布的一篇博客。

captchas

9

cloudflare

31

model-context-protocol

26

claude-code

117

月度简报

每月赞助我 10 美元,获取本月最重要的大型语言模型发展的精选电子邮件摘要。

少给我发点邮件!

赞助并订阅

.metabox

#secondary

#wrapper

  • 披露
  • 附录
  • ©
  • 2002
  • 2003
  • 2004
  • 2005
  • 2006
  • 2007
  • 2008
  • 2009
  • 2010
  • 2011
  • 2012
  • 2013
  • 2014
  • 2015
  • 2016
  • 2017
  • 2018
  • 2019
  • 2020
  • 2021
  • 2022
  • 2023
  • 2024
  • 2025
  • 2026