# cap.bug.im Agent 接入说明 请帮我在当前项目中接入 cap.bug.im 人机验证,沿用项目现有的框架、表单和代码风格。 ## 参考文档 - 接入文档:https://cap.bug.im/docs - 完整表单:https://cap.bug.im/docs/form - React:https://cap.bug.im/docs/react - WordPress:https://cap.bug.im/docs/wordpress - 错误排查:https://cap.bug.im/docs/troubleshooting ## 接入步骤 请先检查项目结构,找到需要保护的表单及其服务端提交入口,再完成适合当前项目的接入: 1. 我需要先在 https://cap.bug.im/console 创建站点,加入页面实际使用的域名并取得 sitekey 和 secret。缺少配置时,先完成代码并告诉我在哪里填写,不要编造可用凭据。 2. 前端加载 https://cap.bug.im/v1.js,将带有公开 sitekey 的 .cap-captcha 控件放在表单内部;提交时将隐藏字段 cap-response 发送给自己的后端。动态页面要处理控件挂载、清理和重新验证。 3. 后端用服务端保存的 secret 和收到的 token,以 JSON {"secret":"服务端密钥","response":"cap-response 的值"} POST 到 https://cap.bug.im/v1/siteverify。只有 HTTP 请求成功、success 严格为 true 且没有 degraded 时,才继续原来的业务处理。网络异常或校验失败时停止处理,不能只看 HTTP 200 或前端状态。 4. secret 只放在服务端环境变量中,不写进网页、日志或 Git。保留现有的身份校验、限流和 CSRF 防护;如果项目没有后端,请说明需要补充的服务端入口,不要改成浏览器直接校验。 5. 验证正常提交、缺少 token、无效 token、重复使用 token 和服务不可用等路径。失败后提示用户重新验证,避免重复提交同一个 token。 ## 交付要求 完成后说明改动、需要配置的环境变量和允许域名,以及测试结果;先给我本地预览,不要自动部署。