Explainers

reCAPTCHA Enterprise 站点密钥与 API 密钥:配置指南

reCAPTCHA Enterprise 使用两个不同的密钥 - 混淆它们是最常见的配置错误之一。站点密钥在页面上呈现验证码小部件。 API 密钥对向 Google 发出的服务器端验证请求进行身份验证。向 CaptchaAI 发送任务时需要站点密钥,而不是 API 密钥。

两个键的解释

站点密钥(公共)

站点密钥嵌入在 HTML 页面中。它标识要加载的 reCAPTCHA 配置:

<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>

或者在 grecaptcha.enterprise.execute 调用中:

grecaptcha.enterprise.execute('6LcR_RsTAAAAADge...', { action: 'login' });

特性:

  • 6L 开头(与标准 reCAPTCHA 相同的前缀)
  • 在页面源代码中可见——设计为公开
  • 绑定到 Google Cloud Console 中的特定域
  • 这就是CaptchaAI需要解决的挑战

API 密钥(私有)

API 密钥对服务器到 Google 的通信进行身份验证以进行令牌验证:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=AIzaSy...

特性:

  • AIzaSy 开头(Google Cloud API 密钥格式)
  • 从未在客户端代码中暴露
  • 仅由网站后端用于验证令牌
  • CaptchaAI 不需要需要此密钥

主要比较

财产 站点密钥 API密钥
格式 6L...(40 个字符) AIzaSy...(39 个字符)
能见度 公开(在 HTML/JS 中) 私有(仅限服务器端)
目的 加载验证码小部件 使用 Google 验证令牌
哪里发现的 页面源码、JS调用 服务器配置、环境变量
CaptchaAI 需要吗? 是的

reCAPTCHA 企业版与标准版

reCAPTCHA Enterprise 与免费版本的不同之处在于密钥的工作方式:

特征 标准(免费) 企业
站点关键源 reCAPTCHA 管理控制台 谷歌云控制台
验证端点 siteverify assessments
Auth 用于验证 秘密密钥(共享秘密) API 密钥或服务帐户
评分反应 score 字段 (0.0–1.0) riskAnalysis.score + 原因
CaptchaAI 任务类型 RecaptchaV2Task / RecaptchaV3Task RecaptchaV2EnterpriseTask / RecaptchaV3EnterpriseTask

查找站点密钥

方法一:页面源码搜索

在 HTML 中搜索 enterprise.js

View Source → Ctrl+F → "enterprise.js"

render 参数包含站点密钥:

<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>

方法 2:JavaScript 控制台

在浏览器控制台中运行:

// Check for Enterprise grecaptcha
if (window.grecaptcha && window.grecaptcha.enterprise) {
  console.log('reCAPTCHA Enterprise detected');
}

// Find site key from rendered widgets
document.querySelectorAll('[data-sitekey]').forEach(el => {
  console.log('Site key:', el.getAttribute('data-sitekey'));
});

方法 3:网络选项卡

过滤 enterprise.jsrecaptcha/enterprise 的网络请求 - 站点密钥出现在请求 URL 或负载中。

发送至CaptchaAI

获得站点密钥后,将其作为 websiteKey 参数提交:

POST https://ocr.captchaai.com/in.php

所需参数:

范围 价值
key 您的 CaptchaAI API 密钥 (YOUR_API_KEY)
method userrecaptcha
googlekey 页面中的站点密钥 (6LcR_Rs...)
pageurl 显示验证码的完整 URL
enterprise 1(将其标记为企业)

可选企业参数:

范围 目的
enterprise_type 指定 v2v3 Enterprise
action 操作名称(对于 v3 Enterprise)

企业验证有何不同

了解完整流程有助于解释为什么只有站点关键才能解决以下问题:

  1. 浏览器使用站点密钥加载enterprise.js
  2. 浏览器运行挑战,获取令牌
  3. 站点后端将令牌 + API 密钥发送到 Google 的 assessments 端点
  4. Google 返回风险评分和评估详细信息
  5. 网站后台根据分数决定是否接受

CaptchaAI 替换步骤 1-2。它使用站点密钥生成有效令牌。然后,网站后端使用自己的 API 密钥验证该令牌 — CaptchaAI 不参与验证。

故障排除

问题 原因 处理方式
“ERROR_WRONG_CAPTCHA_ID” 发送 API 密钥而不是站点密钥 使用页面中的 6L... 密钥,而不是 AIzaSy... 密钥
令牌被网站拒绝 错误的企业类型(v2 与 v3) 设置 enterprise=1 并更正 enterprise_type
“站点密钥无效” 来自错误环境的密钥(暂存与生产) 从确切的目标 URL 中提取密钥
无企业旗帜 作为标准 reCAPTCHA 提交 enterprise=1 添加到您的请求中

常问问题

如何判断网站使用的是企业版还是标准版 reCAPTCHA?

检查脚本 URL。企业版从 /recaptcha/enterprise.js 加载,而标准版则使用 /recaptcha/api.js。在 JavaScript 中,Enterprise 使用 grecaptcha.enterprise.execute() 而不是 grecaptcha.execute()

我可以对标准版和企业版使用相同的 CaptchaAI API 密钥吗?

是的。您的 CaptchaAI API 密钥适用于所有验证码类型。在您的请求中设置 enterprise=1 以指示企业挑战 - 解决问题按相同费率收费。

网站的 API 密钥轮换是否会影响我的求解?

不可以。API 密钥仅用于网站后端和 Google 之间的服务器端验证。它对代币生成或 CaptchaAI 的解决过程没有影响。

相关文章

  • 如何使用Api解决Recaptcha V2回调
  • Captchaai Ip 白名单 Api 密钥安全
  • Captchaai Api 密钥轮换

下一步

解决 reCAPTCHA Enterprise 挑战 —获取您的 CaptchaAI API 密钥并提交带有 enterprise=1 标志的站点密钥。

该文章已禁用评论。