ByteNoteByteNote

字节笔记本

2026年5月3日

Cloudflare Turnstile - 智能验证服务

API中转
¥120

Cloudflare Turnstile 是一种隐私优先的 CAPTCHA 替代方案,可以在不显示烦人谜题的情况下验证用户是否为真人。它通过 JavaScript 挑战收集信号,自适应地判断用户身份,完全免费且无需 Cloudflare 代理。

核心特点

特点说明
无 CAPTCHA 体验用户无需解决视觉谜题,验证过程完全隐形或最小化
隐私优先从不收集数据用于广告重定向
无需 Cloudflare 代理可嵌入任何网站,无需通过 Cloudflare 网络路由流量
自适应挑战根据风险级别自动选择合适的验证方式
无障碍访问符合 WCAG 2.1 AA 标准
SPA 支持支持单页应用的预清除功能

三种控件类型

1. 非交互式 (Non-interactive)

  • 完全隐形,用户无感知
  • 适用于低风险场景

2. 托管式 (Managed)

  • 检测到可疑机器人时显示复选框
  • "I'm not a robot" 风格
  • 平衡安全性和用户体验

3. 完全隐形 (Invisible)

  • 完全后台运行
  • 适用于高信任度场景

定价

计划价格适用场景
免费版$0/月个人或爱好项目,非关键业务
企业版定制价格关键业务应用

免费版包含

  • 无限验证请求
  • 所有控件类型
  • 基础分析仪表板
  • 标准支持

与 CAPTCHA 的对比

特性传统 CAPTCHACloudflare Turnstile
用户体验需解决视觉谜题,繁琐隐形或最小化交互
隐私收集数据用于广告从不收集广告数据
速度拖慢网页加载不影响网页体验
无障碍对视障用户不友好WCAG 2.1 AA 合规
集成通常需要特定域名可嵌入任何网站

集成方式

基本嵌入

html
<!-- 在 <head> 中 -->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

<!-- 在表单中 -->
<div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>

JavaScript API

javascript
// 显式渲染
turnstile.render('#turnstile-container', {
  sitekey: 'YOUR_SITE_KEY',
  callback: function(token) {
    console.log('Challenge Success', token);
  },
});

// 验证响应
// 将 token 发送到服务器验证

服务器端验证

bash
# 使用 Cloudflare API 验证 token
curl -X POST https://challenges.cloudflare.com/turnstile/v0/siteverify \
  -H "Content-Type: application/json" \
  -d '{
    "secret": "YOUR_SECRET_KEY",
    "response": "TOKEN_FROM_CLIENT"
  }'

响应示例

json
{
  "success": true,
  "challenge_ts": "2026-02-15T00:00:00.000Z",
  "hostname": "example.com",
  "error-codes": [],
  "action": "login",
  "cdata": "session-id-123"
}

使用场景

  • 登录/注册表单 - 防止暴力破解和机器人注册
  • 评论系统 - 防止垃圾评论
  • 投票/调查 - 确保一人一票
  • 结账流程 - 防止机器人抢购
  • API 端点保护 - 防止滥用
  • 内容提交 - 防止垃圾内容

最佳实践

1. 选择合适的控件类型

  • 低风险页面(如联系表单)→ 非交互式
  • 中等风险页面(如登录)→ 托管式
  • 高风险页面(如支付)→ 完全隐形 + 额外验证

2. 错误处理

javascript
turnstile.render('#container', {
  sitekey: 'YOUR_SITE_KEY',
  'error-callback': function(code) {
    console.error('Turnstile error:', code);
    // 显示友好的错误信息
  },
});

3. 与 WAF 集成

  • 可与 Cloudflare WAF 配合使用
  • 根据 Turnstile 分数设置自定义规则

分析仪表板

  • 挑战解决率 - 查看验证成功率
  • 流量分析 - 了解机器人 vs 真人流量
  • 错误分析 - 识别集成问题

同类工具对比

工具特点价格
Turnstile隐私优先,无 CAPTCHA免费
reCAPTCHA v3Google 服务,分数制免费/企业版
hCaptcha隐私友好,有收益模式免费/付费
Friendly Captcha欧盟 GDPR 合规免费/付费

相关资源

分享: