Agent Skills
返回列表
💻

Cloudflare Turnstile 接入向导

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_55e286a5/cn-turnstile-spin

技能介绍

要解决的问题

表单接了 Turnstile,校验却没真正生效:有人把 siteverify 放在浏览器里直接请求,secret 被暴露;也有人在后端写了自有 Worker,但密钥传播失败或生产域名漏登记,注册接口照样被批量脚本打穿。这个技能的目标不是讲概念,而是把一个最小可用的接入链路完整走通:组件、托管校验 Worker、前端门控,以及一次真实校验。

它如何工作

技能先运行 scripts/auth-probe.sh 探测 API token 的权限和账户作用域,再确认要注册 localhost、127.0.0.1 和生产域名。随后调用脚本创建 managed 组件、部署标准 siteverify Worker,并把 sitekey 的 secret 通过 wrangler secret put 注入,而不是落盘。

代码库扫描会识别框架、表单提交函数和已有 CAPTCHA。接入时遵循“门控不替换”:已有提交处理逻辑保持不变,只在其之前加一个 success === true 判断。若检测到 reCAPTCHA 或 hCaptcha,会切换到迁移流程,替换 script 标签、组件 class、token 字段和 siteverify 目标。

最后,scripts/validate.sh 运行一次真实校验。任一步失败都会暴露错误并停止,而不是继续往前端文件里写代码。

适用边界

  • 校验链路固定为:浏览器 → 用户自己的 Worker → siteverify。不要从前端直连 Cloudflare API。
  • Worker 使用 templates/worker/ 里的标准模板,不写自定义路由、限流或第三方集成。
  • 不处理邮件、短信、数据库、支付和 OAuth;现有提交函数仍由用户自己负责。
  • 只有 clearance_level === no_clearance 时才走完整 Spin 流程;其他预放行配置下技能会退出。
  • 遇到已有组件时优先走仪表盘 Fix with Spin 路径;编辑器内恢复仅作为回退方案,且不会重新创建组件来轮换密钥。

使用场景

  • 注册表单即将上线,要把 Turnstile 组件、托管 siteverify Worker 和前端门控一次接好并完成真实校验。
  • 旧登录页在用 reCAPTCHA v2,需要换成 Turnstile,并把 token 字段和后端校验地址改到 Spin Worker。
  • 已有 Turnstile sitekey 但 siteverify 没生效,希望不轮换密钥,直接补上托管 Worker 与前端校验。
  • 注册接口被批量脚本打穿,需要固定浏览器先过 Turnstile、再交用户 Worker 校验 siteverify 的链路。

适合人员

  • 负责上线注册登录功能的 Web 工程师,希望少踩 secret 泄露和校验不生效的坑。
  • 维护存量表单的全栈开发者,需要把 reCAPTCHA 或 hCaptcha 迁移到 Cloudflare Turnstile。
  • 管理 Cloudflare 账户的 DevOps 工程师,希望部署托管 siteverify Worker 且不改业务提交逻辑。
  • 支持客户表单集成的独立开发者,需要说明 Turnstile 接入边界、恢复路径和遥测标记。