reCaptcha 阻塞帧(SOP?)

reCaptcha blocked frame (SOP?)

我在表单中添加了 Googles reCaptcha 的错字错误安装。

在其他 Typo3 安装上已经成功了吗,但是这次,我在浏览器中遇到了阻塞帧错误。

Blocked frame with origin "https://www.google.com" from accessing a cross-origin frame.
  at um.f.hc (https://www.gstatic.com/recaptcha/api2/....)

这发生了两次,之后,我在前端得到了这个按摩。

Please upgrade to a supported browser to get a reCAPTCHA challenge.

Alternatively if you think you are getting this page in error, please check your internet connection and reload.

Why is this happening to me?

我检查过的所有浏览器(Chrome、FF、IE11)都会出现这种情况。

为了包含 reCaptcha,我在模板中添加了以下内容:

  <script src="//www.google.com/recaptcha/api.js" async defer></script>
  <script type="text/javascript">
    var captchaCallback = function() { document.getElementById("captchaResponse").value = document.getElementById("g-recaptcha-response").value }
    var onSuccess = function(response) {
      var errorDivs = document.getElementsByClassName("recaptcha-error");
      if (errorDivs.length) {
        errorDivs[0].className = "";
      }
      var errorMsgs = document.getElementsByClassName("recaptcha-error-message");
      if (errorMsgs.length) {
        errorMsgs[0].parentNode.removeChild(errorMsgs[0]);
      }
      captchaCallback();
      document.getElementById("fhcallback").submit();
    };
  </script>
  <input type="hidden" id="captchaResponse" name="fhcb[recaptcha]" value="" />
  <div id="recaptcha-demo" class="g-recaptcha" data-sitekey="[MYPUBLICKEY]" data-callback="onSuccess" data-bind="inp-submit"></div>
  <button class="orderButton bold" id="inp-submit" ###submit_nextStep###>Senden</button>

在PHP中:

$secret = '[MYSECRETKEY]';
$url = 'https://www.google.com/recaptcha/api/siteverify';
$apiResponse = json_decode(\TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($url.'?secret='.$secret.'&response='.$this->gp[$this->formFieldName]), true);
if($apiResponse['success'] == FALSE) {
    $checkFailed = $this->getCheckFailed();    
}

表单在页面加载时不可见。单击其切换元素后,它位于页面右侧的幻灯片。

我没主意了,客户已经在烦我了。

我找到问题了。在此安装中,包含 JavaScript 库 Mootools

删除 Mootools 的包含后,不再出现被阻止的框架问题。