Skip to content

Turnstile 人机验证 ​

Cloudflare Turnstile 是免费的无感人机验证,与 Workers 同生态。cloud-r2pan 支持按触发模式 + 访问阈值规则化启用,避免对正常用户造成打扰。

1. 申请凭证 ​

  1. Cloudflare 控制台左侧菜单 → Turnstile → Add site
  2. Site name 随意填写
  3. Domain 填你最终使用的域名(*.workers.dev 子域或自定义域)
  4. 获取 SiteKey 和 Secret Key

2. 配置凭证 ​

凭证有三层兜底,任选其一即可:

层级位置说明
① Cloudflare Secret turnstile_secretWorker → Settings → Secrets必须,没有它 Turnstile 整体不生效
② Cloudflare Secret turnstile_sitekeyWorker → Settings → Secrets可选
③ 后台设置覆盖管理后台 → 设置SiteKey 覆盖值;Secret 也可在后台填写(AES-GCM 加密存 D1)

3. 触发模式 ​

管理后台 → 设置 → Turnstile 模式:

模式行为
off(默认)关闭
on_share打开分享页时触发
on_download点击下载按钮时触发
both打开分享页 + 下载双重校验

4. 访问阈值 ​

设置项默认值说明
触发阈值5 次/天每 IP 每天访问分享页超过该次数后开始弹出验证;0 = 每次都弹

计数按「IP + 自然日」复合主键存储,跨天自动归零,无需清理任务。

5. 校验机制 ​

采用前后端双重校验,缺其一直接 403:

  • 前端:按模式在分享页加载时或点击下载时渲染 Turnstile widget
  • 后端:将 token 提交 Cloudflare siteverify API 验签

TIP

有密码的分享在密码校验通过后颁发 24 小时 HMAC 下载令牌,令牌验证与 Turnstile 校验相互独立,二者叠加生效。