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

Umbraco Form 12.1.1版本与Google reCAPTCHA V3兼容问题

解决方案

首先明确:reCAPTCHA V3是隐形验证,不会在页面上显示传统的验证码框,这是正常设计。提交表单失败、页面停留的问题,可从以下方向排查:

  • 确认reCAPTCHA V3密钥配置无误
    进入Umbraco后台「Forms」→「Settings」→「reCAPTCHA」,检查填写的Site Key和Secret Key是Google reCAPTCHA控制台生成的V3密钥(V2密钥无法兼容V3验证)。同时确保控制台中已添加当前网站的域名(本地调试需包含localhost)。

  • 验证表单已启用reCAPTCHA V3验证
    编辑目标表单,切换到「Settings」标签页,在「Validation」区域勾选「Enable reCAPTCHA」,并确认下拉选项选择的是「reCAPTCHA v3」。

  • 检查前端脚本加载与提交逻辑
    查看页面源码,确认存在reCAPTCHA脚本:<script src="https://www.google.com/recaptcha/api.js?render=你的SiteKey"></script>。若缺失,需确保渲染表单的模板中包含@Html.RenderUmbracoFormScripts()(MVC视图),或在Razor组件中正确引入Forms的必要脚本。
    若自定义了表单提交逻辑,需手动调用reCAPTCHA获取token并传入表单:

    document.querySelector('form.umbraco-form').addEventListener('submit', function(e) {
      e.preventDefault();
      grecaptcha.execute('你的SiteKey', {action: 'submit'}).then(function(token) {
        document.querySelector('input[name="g-recaptcha-response"]').value = token;
        this.submit();
      }.bind(this));
    });
    
  • 查看服务器端日志定位错误
    检查Umbraco日志文件(默认路径App_Data/Logs),查找是否存在reCAPTCHA相关错误,比如「Invalid reCAPTCHA token」「Secret key invalid」等,这类日志可直接定位问题根源。

  • 排查内容安全策略(CSP)限制
    若网站配置了CSP,需允许加载reCAPTCHA相关资源,在CSP规则中添加:

    script-src 'self' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/;
    frame-src 'self' https://www.google.com/recaptcha/;
    style-src 'self' https://www.google.com/recaptcha/;
    
  • 确认版本兼容性
    若以上都没问题,可尝试将Umbraco Forms更新至最新稳定版本,或回退到已知兼容的版本,排查是否存在版本间的适配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 03:16:05