在我的Facebook Instant游戏中,我尝试从cloudflare.com静态加载脚本,例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.2/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/4.8.5/pixi.min.js"></script>
但出现Chrome浏览器错误:
拒绝加载脚本' https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js ',因为它违反了以下内容安全策略指令:“ script-src 'self''unsafe-inline''unsafe-eval'* .facebook.com connect.facebook.net cdn.mixpnl.com * .google-analytics.com web.localytics.com * .googletagmanager.com blob:* .cloudfront .net * .amazonaws.com * .googleapis.com * .firebaseapp.com * .firebaseio.com * .8686c.com * .cncovs.com * .aliyun.com * .aliyuncs.com * .wsdvs.com * .console .re * .kunlunar.com * .layabox.com * .windows.net * .msecnd.net * .anysdk.com cdn.trackjs.com cdn.firebase.com * .kochava.com * .akamaized.net * .cocos .com * .hinet.net * .playfab.com code.createjs.com * .zdassets.com websdk.appsflyer.com“。请注意,未明确设置“ script-src-elem”,
有什么方法可以从cloudflare加载脚本吗?
内容安全策略是缓解站点/应用程序上的XSS(跨站点脚本)攻击的方法之一。
要允许您的网站/应用从中加载脚本cdnjs.cloudflare.com
,您需要在HTTP响应标头的script-src
指令中添加/添加域Content-Security-Policy
。
一些示例实现:
httpd.conf:
Header set Content-Security-Policy "script-src 'self' ...(snipped)... cdnjs.cloudflare.com;"
nginx.conf:
add_header Content-Security-Policy "script-src 'self' ...(snipped)... cdnjs.cloudflare.com;";
然后,请确保在重新加载或重新启动httpd / nginx服务之前运行checkconfig。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句