You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReCaptcha V3实现异常:隐身窗口测试表单无验证直接提交

ReCaptcha V3 隐身窗口无验证直接提交问题分析与修复

核心误解澄清

ReCaptcha V3 没有可视化验证挑战,它完全基于后台行为分析给出0.0-1.0的风险分数,不会像V2那样弹出复选框或图片验证界面。你在隐身窗口看到的“直接提交”是V3的正常表现——因为它不需要用户手动完成验证,问题出在你的实现逻辑和后端验证缺失上。

现有代码问题

你的代码写法更接近ReCaptcha V2的自动渲染模式,不符合V3的正确实现流程:

  • 没有手动调用grecaptcha.execute获取验证token
  • 未将token附加到表单提交数据中,导致后端无法进行风险分数校验

修复步骤(适配Squarespace)

1. 修正客户端代码

将现有代码替换为V3标准实现,确保提交表单前获取并携带验证token:

<script src="https://www.google.com/recaptcha/api.js?render=你的SiteKey"></script>
<script>
// 等待DOM加载完成再绑定事件
document.addEventListener('DOMContentLoaded', function() {
  const form = document.getElementById('contactForm');
  form.addEventListener('submit', function(e) {
    e.preventDefault(); // 阻止表单默认提交行为
    
    // 调用V3获取验证token
    grecaptcha.execute('你的SiteKey', { action: 'submit' }).then(function(token) {
      // 创建隐藏字段存储token,提交给后端
      const tokenInput = document.createElement('input');
      tokenInput.type = 'hidden';
      tokenInput.name = 'g-recaptcha-response';
      tokenInput.value = token;
      form.appendChild(tokenInput);
      
      // 提交表单
      form.submit();
    });
  });
});
</script>

<form action="https://你的提交URL" id="contactForm" method="POST" role="form">
  <!-- 你的表单字段 -->
  <button id="submit-form-button" class="btn btn-primary submit" type="submit">ENQUIRE NOW</button>
</form>

2. 必须添加后端验证

V3的核心逻辑在后端,你需要在表单接收端执行以下操作:

  • 接收表单中的g-recaptcha-response token
  • 调用Google的验证接口,传入你的Secret Key和token
  • 根据返回的success状态和score值判断是否允许提交:
    • 隐身窗口下用户无历史行为,score通常会低于0.3,此时后端应拒绝提交,或引导用户完成V2验证
    • 正常用户的score一般高于0.5,可允许提交

3. Squarespace平台注意事项

  • 脚本放在HTML主体完全没问题,只要确保在DOM加载完成后绑定事件(上述代码已通过DOMContentLoaded处理)
  • 如果Squarespace自带表单拦截逻辑,可尝试将代码放在Squarespace的「设置」→「高级」→「代码注入」→「页脚」区域,确保脚本在页面最后加载

若需可视化验证挑战

如果你的需求是让用户手动完成验证(比如隐身窗口下强制触发),请切换到ReCaptcha V2的“我不是机器人”复选框版本,V3本身不支持前端可视化挑战。

内容的提问来源于stack exchange,提问作者j00m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 09:09:21