reCaptcha中被阻止的帧

时间:2014-11-25 16:23:10

标签: javascript recaptcha

我在本地测试服务器上使用reCapcha。一切正常,但我有错误:

Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000".  The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.

Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000".  The frame requesting access has a protocol of "about", the frame being accessed has a protocol of "http". Protocols must match.

在html中:

...
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
...
<div class="g-recaptcha" data-sitekey="..."></div>

如何解决这些错误?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是iframe,则此部分:

  

阻止原始[url here]的框架访问具有原点[其他网址]的框架。

意味着它无法运作。帧不能相互干扰,否则人们就可以从另一帧中的一帧中窃取您的数据。查看same origin policy了解更多详情。

您可以通过摆脱混合协议错误来简化自己的事情:您可以通过http而不是https访问Google文件,因此尝试这可以消除一半的麻烦。 (您也可以使用这样的网址://www.google.com/recaptcha/api.js,而不是指定是使用http还是https。)