【发布时间】:2016-09-14 21:08:29
【问题描述】:
我在页面加载时使用CAPTCHA,但由于某些安全原因它被阻止。
我正面临这个问题:
内容安全策略:页面设置阻止加载 的资源在 http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit (“script-src http://test.com:8080 'unsafe-inline' 'unsafe-eval'”)。我使用了以下 JavaScript 和元标记:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script src="http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>
【问题讨论】:
-
如果我是你,我会尝试使用服务器端代码而不是 JavaScript。 JS 对 CORS 和类似的东西不太好。谷歌确实有这方面的选择..
-
我在这个问题上加了
javascript标签,因为这个问题和jQuery无关。它会影响任何 JavaScript。事实上,如果你完全删除jQuery标签,这个问题会更有用,但我不适合这样做。 -
现在deleted answer 是正确的。 “内容安全策略:页面设置阻止加载资源”的一个原因是浏览器中的 JavaScript 未启用或阻止(例如,NoScript)。在这种情况下,部分错误输出可能是“无法处理未知指令‘noscript-marker’”。
-
我无法评论使用 about:config 的其他建议,所以我想我会在这里添加它。有人建议进入 about:config 并将 security.csp.enable 设置为 false。其他人都说这是一个可怕的想法。我只想说这也是我决定使用的解决方案。很多网站刚刚完全停止在 Firefox 中为我工作,到处都是这些错误。 Chrome 仍会加载它们。在不知道为什么会这样的情况下,将 security.csp.enable 设置为 false 允许这些站点使用 Firefox 再次加载,我更喜欢 Firefox 而不是 Chrome。如果
标签: javascript jquery content-security-policy