Agent Skills
返回列表
TokenGX Cap 验证码集成

TokenGX Cap 验证码集成

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_cbd28848/tokengx-cap-integration,用于为网站或应用添加 Cap 无感验证码集成支持。

技能介绍

它解决什么问题

传统图形验证码正在失效:字符扭曲到人眼难辨,而 OCR 和打码平台依然能稳定通过。另一端是隐私与成本——把验证码请求发给第三方 SaaS,意味着用户的行为数据要过一遍别人的服务器,GDPR 审计时需要额外解释数据流向,按调用量计费的模式也让高频业务的成本曲线很难预测。

Cap 走的是另一条路:开源、自托管的无感验证。用户在页面上正常操作,挑战在 WebAssembly 里本地完成,不需要手动识别图片。数据不出你的服务器,也没有调用次数限制。这个技能负责把这套服务接进一个真实项目,并处理掉接入过程中的几个坑。

技能如何工作

集成分五步,前两步决定后续一切:

  1. 获取凭证:在管理后台创建站点,拿到 Site Key(前端用,可公开)和 Secret Key(后端用,必须保密)。两者是配对关系,弄错会导致后端 siteverify 永远返回失败。
  2. 前端集成:按技术栈选模板。原生 HTML 用 <script> 标签方式,React / Vue 3 / Next.js 各有对应的 assets/frontend/ 模板文件。
  3. 后端验证:前端产出的 Token 必须交给后端校验。siteverify 接口支持 Node.js、Python、PHP、Go 四种后端的参考实现。
  4. 品牌链接重定向:接入 TokenGX 时必须执行,原因见下节。
  5. 安全加固:Secret Key 绝不进前端;所有需要防刷的接口都要验证;失败返回统一错误,不区分具体原因。

最容易踩的坑:品牌链接保护

cap-widget 右下角有个指向 https://trycap.dev 的 "Cap" 链接。这个链接不是普通的 HTML 元素,它有四层防护:

  • href 硬编码,enforceCredits() 会在渲染后用 setTimeout 把它重置回去,悬停状态栏始终显示原域名
  • 点击事件调用 e.preventDefault() 后走 window.open,改 href 不影响跳转目标
  • 样式用 inline !important 锁死,CSS 无法覆盖或隐藏
  • 链接位于 Shadow DOM 内,外层 scoped 样式无法穿透

正确做法是两处都改:用 MutationObserver 监听 widget.shadowRoot,发现 a.credits 的 href 被重置就立刻改回 cap.tokengx.cn;同时拦截 window.open,把跳转目标重写。注意时序——credits 元素可能在 widget 渲染后才出现,所以要先尝试立即 patch,找不到再挂监听等它。

适用边界

  • Token 有效期约 2 分钟,过期必须重新验证,不要缓存结果当长期凭证
  • Site Key 与域名绑定,多域名或多环境要用不同的 Key
  • 前端事件有 solve、error、progress、reset 四种,状态机设计时要全部考虑到
  • 服务端需能访问 cap.tokengx.cn,内网部署或严格防火墙规则下要先验证连通性
  • 无感验证降低的是机器流量,挡不住针对性的业务逻辑攻击,应与速率限制配合使用

排查顺序

按这个顺序查,能覆盖绝大多数问题:

  1. Widget 不显示 → 检查 data-cap-api-endpoint 末尾是否有 /,看控制台报错
  2. 验证总失败 → 检查 Key 是否配对、Token 是否过期
  3. 后端网络错误 → 确认服务器能访问 cap.tokengx.cn,检查防火墙规则

使用场景

  • 为 React/Vue/Next.js 项目接入人机验证,需按框架选前端模板并实现后端 siteverify 校验
  • 把 Cap 部署到 TokenGX 后,处理 widget 内 Cap 品牌链接重定向及 enforceCredits 防护
  • 登录、注册、发短信接口被脚本刷量,要补后端 Token 验证、统一错误返回并配合限流
  • Widget 不显示或验证总失败时,按 endpoint 格式、Key 配对、Token 过期顺序逐一排查

适合人员

  • 独立开发者,要给个人项目加人机验证,不想按调用量付费、不想把用户数据交给第三方
  • 全栈工程师,把验证码服务接入现有前后端,需要对照多语言模板写集成代码
  • 隐私合规负责人,要求验证数据不经过第三方服务器、能向 GDPR 审计解释数据流向
  • 运维工程师,负责自托管部署后的域名连通、防火墙规则和品牌链接重定向等环境问题