SuperAPI AI 工具集

cloudflare-turnstile

部署与运维

查看项目

更新于 10-15 22:39

技能介绍

用途:Cloudflare Turnstile 是替代传统 CAPTCHA 的机器人防护方案。本技能覆盖其完整接入流程:创建组件、获取 sitekey/secret 密钥对、前端嵌入、服务端校验令牌。

主要能力:支持 Managed、Non-Interactive、Invisible 三种组件模式;提供隐式渲染(静态表单)与显式渲染(SPA/动态界面)两种前端集成方式;可选依赖 @marsidev/react-turnstile 用于 React;提供测试用假密钥与令牌;包含 CSP 配置参考及常见错误(如 200500、300030、600010、110200)的防范说明。

使用方式:先在 Cloudflare 控制台创建组件,复制公开 sitekey 与私密 secret key,并为开发/预发/生产使用不同组件。前端加载 https://challenges.cloudflare.com/turnstile/v0/api.js(不得代理或缓存),在表单中加入带 data-sitekey 的 .cf-turnstile 容器,组件会自动生成隐藏字段 cf-turnstile-response。服务端必须用 POST 调用 https://challenges.cloudflare.com/turnstile/v0/siteverify,提交 secret、response 及可选 remoteip,并检查 success、action、hostname 等字段。secret key 只能放在后端环境变量中,可用 wrangler secret put TURNSTILE_SECRET_KEY 管理。

适用场景:表单防机器人、登录接口保护、Cloudflare Workers 与 Hono 的 API 路由、Next.js App Router 客户端表单,以及 Playwright/Cypress/Jest 等自动化测试。

限制:令牌 5 分钟后过期且仅能使用一次;Siteverify 只接受 POST;必须使用 HTTPS;客户端校验不可信;localhost 需显式加入域名白名单;测试应使用假密钥而非生产密钥;部分浏览器隐私设置或扩展可能干扰验证。具体收费与价格信息暂未提供。