Google reCAPTCHA Enterprise某域名评估风险分数始终为0的排查咨询
Google reCAPTCHA Enterprise 单域名返回0分的排查方案
可能原因及对应排查步骤
1. 前后端密钥不匹配
- 先查返回0分的域名前端代码:确认
grecaptcha.enterprise.execute()里用的站点密钥,是不是你在控制台给这个域名配置的那一个,别和正常域名的密钥搞混了。 - 服务端那边也要核对:调用Assessment API时指定的
siteKey参数,必须和前端用的完全一致,不能串用。
2. 服务账号权限或凭证问题
- 检查服务账号是否拥有该域名reCAPTCHA密钥的
recaptchaenterprise.assessments.create权限,哪怕两台服务器配置相同,也可能存在服务账号绑定项目错误的情况。 - 确认服务端用的JSON密钥文件,是不是对应当前reCAPTCHA密钥所在的Google Cloud项目,别误用到其他项目的凭证。
3. 域名验证的隐性异常
- 就算你关了域名验证,也去控制台的密钥详情页看看:该域名的状态是不是正常,有没有被标记风险、或者验证记录失效的提示。
- 再核对一遍域名验证方式:HTML标记有没有被删掉、DNS记录有没有被修改,有时候验证过的域名后续变动会导致隐性失效。
4. 前端集成代码差异
- 对比两个域名的前端代码:
- 确认都正确加载了Enterprise版本的脚本:
<script src="https://www.google.com/recaptcha/enterprise.js?render=你的站点密钥"></script>,别用成普通reCAPTCHA的脚本。 - 检查
execute的触发时机:是不是在用户真实交互(比如点击提交按钮)时调用,要是页面一加载就调用,很容易被判定为机器人,返回0分。 - 核对
action参数:两个域名的action名称格式要一致,别用特殊字符,reCAPTCHA会根据action统计行为数据,格式不对也可能影响评分。
- 确认都正确加载了Enterprise版本的脚本:
5. 流量或环境异常
- 如果是新站点,可能因为没有足够的用户行为数据,reCAPTCHA无法生成有效评分,多模拟几次真实用户操作(比如点击、输入、跳转)再测试。
- 检查服务器IP有没有被Google标记:可以换个公网IP测试,或者看Cloud控制台的reCAPTCHA日志,有没有IP相关的错误提示。
6. API调用参数错误
- 确认服务端拿到的token是从该域名前端获取的,别把另一个域名的token传过来调用API。
- 检查调用Assessment API时的
expectedAction参数,是不是和前端execute时传的action一致,不匹配的话也会影响评分。
7. 查看官方日志定位问题
- 登录Google Cloud控制台,找到reCAPTCHA Enterprise的日志页面,筛选该域名的请求记录,看有没有明确的错误码(比如
INVALID_SITE_KEY、TOKEN_EXPIRED),这些日志能直接告诉你问题出在哪。 - 看密钥的使用统计:如果该域名的请求量为0,说明前端根本没正确发起reCAPTCHA调用,先排查前端集成问题。
内容的提问来源于stack exchange,提问作者Alexander Nemsadze
相关产品推荐
相关产品推荐

