Google Recaptcha V3站点验证未返回score属性,是否遗漏参数?
问题分析与解决
你遇到的问题是因为使用了Google Recaptcha的测试密钥,而非正式的V3密钥对。
原因说明
Google提供的测试密钥(包括sitekey和secret)仅用于开发调试场景,这类密钥的验证响应只会返回三个基础字段:
{ "success": true, "challenge_ts": "2023-06-11T15:57:32Z", "hostname": "testkey.google.com" }
不会包含Recaptcha V3特有的score和action字段。另外响应里的hostname固定为testkey.google.com,也能佐证你用的是测试密钥。
解决步骤
- 登录Google Recaptcha控制台,创建一个类型为V3的密钥对(sitekey和secret)
- 将请求中的
secret替换为你创建的正式V3密钥 - 前端页面的sitekey也同步替换为对应的正式V3 sitekey
替换完成后,再次发起验证请求,响应就会包含0-1之间的score值以及你设置的action字段了。
内容的提问来源于stack exchange,提问作者Nir-Z
相关产品推荐
相关产品推荐

