我正在尝试通过一些 CDN 加载一些 css 和脚本以缩短加载时间,但我遇到了内容安全策略问题,但在阅读了相当长的时间并尝试了不同的策略后,它仍然给出了相同的错误。
目前我的政策是这样的 -
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://code.jquery.com/ https://cdnjs.cloudflare.com/ https://maxcdn.bootstrapcdn.com/">
根据我的理解,这意味着我可以从网站本身加载任何内容,并且我应该能够加载 maxcdn 的 3 个 URL E.Ghttps://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
我确实尝试了非常简单且不被使用的策略
<meta http-equiv="Content-Security-Policy" content="default-src *">
但这并没有改变任何事情。
我收到的错误是 -
拒绝加载脚本'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' 因为它违反了以下内容安全策略指令:“default-src 'self'”。请注意,“script-src”未明确设置,因此“default-src”用作后备。
该脚本正在尝试加载(我将在完成此工作后进行回退)-
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
我已经在 Chrome (55.0.2883.87) 和 Edge 中进行了测试。
从错误消息来看,好像它没有采用我的策略,而是使用浏览器设置的默认策略?
任何帮助将非常感激 :)
当我使用问题中包含的元标记提供的 CSP 进行测试时,脚本加载没有问题。
我能够通过使用 HTTP 标头包含冲突的 CSP 来重现该问题。
真正的 HTTP 标头将胜过元标记。
您需要更改服务器端代码或 HTTP 服务器配置,而不是更改文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)