什么是 Cloudflare Turnstile?
Cloudflare Turnstile 是 Cloudflare 于 2022 年 9 月推出的 CAPTCHA 替代服务,并在同年正式向所有人开放。与传统 CAPTCHA 系统要求用户解开视觉谜题不同,Turnstile 在几乎所有场景下都以隐形方式完成核验,融合非交互式浏览器挑战、设备认证信号以及 Cloudflare 全球威胁情报网络,判断访客究竟是真人还是机器人。
技术机制
Turnstile 的架构依赖三种主要机制依次衔接运作。
Private Access Tokens(PAT): 在受支持的平台上——iOS 16+、macOS Ventura+ 以及支持 HTTP 认证 API 的浏览器——Turnstile 会向设备制造商请求加密认证(Apple 通过 iCloud),确认设备是合法、未越狱的消费级设备。仅这一项信号往往就足以放行,无需其他挑战。
浏览器挑战: 对于不支持 PAT 的环境,Turnstile 会在浏览器中运行一系列非交互式 JavaScript 工作量证明与 API 一致性检测。这些检测探测真实浏览器执行 JavaScript 的方式与无头浏览器或机器人框架模拟方式之间的细微差异。访客看到的只是一个旋转的小组件,一两秒内便会变成绿色对勾。
托管模式回退: 若行为与认证信号不足以下定论,Turnstile 可升级到可见但仍无谜题的挑战。Cloudflare 来自其网络上数百万站点的威胁情报,会在每一步评分时提供支撑。
集成时只需添加 https://challenges.cloudflare.com/turnstile/v0/api.js 与 <div class="cf-turnstile"> 元素。服务端核验通过 POST 请求发送至 https://challenges.cloudflare.com/turnstile/v0/siteverify。
Cloudflare Turnstile 通常用于何处?
对竞赛运营方而言,Turnstile 尤其有吸引力,因为它对合法投票者几乎没有任何摩擦——没有图像九宫格、没有扭曲文字、没有复选框。它被部署在投票提交表单、注册页面、评论端点以及任何对外开放的表单提交点。其免费层覆盖无限次核验,规模再大也几乎零成本。
投票如何与 Cloudflare Turnstile 交互
当投票者来到提交表单时,Turnstile 组件加载并启动其静默认证流程。数秒之内便会颁发一枚短期有效的令牌(通常约五分钟)。投票连同该令牌一起提交,竞赛后端会先与 Cloudflare API 校验令牌,再持久化票数记录。过期、复用或伪造的令牌会被拒绝。
Turnstile 的快与隐形使得自动化脚本仅凭外观难以分辨表单是否启用 Turnstile,而那些缺乏真实浏览器内核或有效设备认证的机器人框架,会一致地在底层挑战中败下阵来。
Cloudflare 厂商情况
Turnstile 由 Cloudflare, Inc. 运营,遵循 Cloudflare 的隐私政策——该政策明确表明 Turnstile 不设置追踪 Cookie,也不会为广告目的构建用户画像。Cloudflare 强调,挑战交互过程中收集的数据不会被用于变现。站点所有者可在 Cloudflare 仪表盘的 Turnstile 板块获取站点密钥与密钥,并在此查看通过率、挑战结果与异常流量模式。Turnstile 与 Cloudflare Pages、Workers 原生集成,对已在 Cloudflare 生态内的站点而言部署尤为便捷。
合规用途
除竞赛反欺诈外,Turnstile 也被媒体机构用于保护评论区,被 SaaS 公司用于保护注册与密码重置流程,被游戏平台用于阻断自动化建号,并被在线零售商用于守护抢购抢手货品的环节、抵御黄牛机器人。
反欺诈视角
Turnstile 对 Cloudflare 全网威胁情报的依赖,是其在反欺诈方面的结构性优势。任何在数百万受 Cloudflare 保护资产上被发现作恶的机器人 IP 或机器人指纹,都可在数分钟内被全网标记。对竞赛运营方而言,这意味着即便某场刷票活动尚未在自家平台被观察到,只要其使用了被共享的机器人基础设施,也会在 Turnstile 这里遇到更高的挑战率。