浏览器未使用元标记内容安全策略
Browser not using metatag Content Security Policy
我正在尝试通过一些 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.G https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
我确实尝试了
的非常简单且不被使用的策略
<meta http-equiv="Content-Security-Policy" content="default-src *">
但这并没有改变任何东西。
我得到的错误是 -
Refused to load the script 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
脚本正在尝试加载(我会在我开始工作后回退)-
<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 header 包含冲突的 CSP 来重现该问题。
真正的 HTTP header 将胜过元标记。
您需要更改服务器端代码或 HTTP 服务器配置,而不是文档。
我正在尝试通过一些 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.G https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
我确实尝试了
的非常简单且不被使用的策略<meta http-equiv="Content-Security-Policy" content="default-src *">
但这并没有改变任何东西。
我得到的错误是 -
Refused to load the script 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
脚本正在尝试加载(我会在我开始工作后回退)-
<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 header 包含冲突的 CSP 来重现该问题。
真正的 HTTP header 将胜过元标记。
您需要更改服务器端代码或 HTTP 服务器配置,而不是文档。