captcha.moe
浅粉短发、猫耳与粉色连帽衫的少女,佩戴猫爪发卡
HUMAN, GENTLY.为每一次真实访问,少一点打扰。

让验证,一点

轻量、易接入、尊重隐私的人机验证。

轻量加载让页面轻装上阵
站点隔离每个站点独立密钥
服务端验证安全可靠
MANAGED SERVICE
专注你的产品,验证交给我们。 在线接入,统一管理。
进入控制台

亲手试一次

访客只需要轻轻一滑

这就是正式接入使用的组件。访客滑动的同时,浏览器已在后台完成工作量证明;使用键盘、读屏器或开启“减少动态效果”的访客,会自动切换为无需操作的模式。

  • 约 10 KB压缩后的组件体积
  • 0Cookie 与浏览器存储
  • 120 秒token 有效期,只能兑换一次

示例表单

创建一个账号

三步接入

改三处代码,
表单就有了守护。

  1. 添加站点在控制台填写域名,拿到 Site key 和 Secret。
  2. 放入组件服务端为每次提交创建一次性许可,页面用它渲染组件。
  3. 服务端校验提交时用 Secret 兑换 token,成功后再执行业务。
阅读完整接入指南 →
// 渲染表单前:为这次提交创建一次性许可
const nonce = crypto.randomUUID();
const intent = await fetch("https://captcha.moe/intents", {
  method: "POST",
  headers: {
    authorization: `Bearer ${process.env.CAPTCHA_SECRET}`,
    "content-type": "application/json",
  },
  body: JSON.stringify({ action: "signup", hostname: "example.com", nonce }),
}).then((res) => res.json());

// 保存 intent.intent_id 和 nonce,校验时要用
session.captcha = { intentId: intent.intent_id, nonce };

从其他验证码迁移

熟悉的写法,多一道绑定。

用过 reCAPTCHA、Turnstile 或 hCaptcha,就已经会用 captcha.moe:组件、表单字段和服务端校验一一对应。新增的只有一步——渲染前由服务端创建许可,把这次验证和这次业务绑在一起,token 换到别的表单也不能用。

查看迁移指南 →
对应项reCAPTCHATurnstilehCaptchacaptcha.moe
组件容器.g-recaptcha.cf-turnstile.h-captcha.moe-captcha
表单字段g-recaptcha-responsecf-turnstile-responseh-captcha-responsemoe-captcha-response
Secret 放在请求体请求体请求体Authorization 请求头
渲染前创建许可不需要不需要不需要需要,绑定业务动作与域名

尊重隐私

验证这一次访问,
不追踪背后的人。

  • 不留痕基础组件不写入 Cookie、localStorage、sessionStorage 或 IndexedDB。
  • 不画像不做设备指纹、行为生物识别,也不建立跨站用户画像。
  • 少用地址网络地址只在处理请求时截断为前缀(IPv4 /24、IPv6 /48),用于绑定与限流;token 里不含访客地址。
  • 不外联组件只连接验证服务本身,不加载第三方统计或广告脚本。
阅读隐私政策 →

价格

每月前 100,000 次免费。

之后每 10,000 次服务端校验成功收费 $1。失败、过期和重复校验都不收费;预充值,不会自动扣款。

查看价格

让你的网站,也轻一点。

注册后即可添加站点,免费额度每月自动到账。