为什么 CSP script-src 指令在 Chrome/Edge 中允许,但在 Firefox 中却不允许?
Why is the CSP script-src directive allowed in Chrome/Edge, but not in Firefox?
我有这个非常简单的 CSP header,请注意 script-src
指令:
default-src 'none'; script-src 'self'; script-src-elem 'self' https://www.example.com 'unsafe-inline'; style-src https://www.example.com 'unsafe-inline'; manifest-src 'self'; frame-ancestors 'self'; worker-src 'self'; connect-src 'self'; object-src 'none'; img-src 'self' data:;
header 在 Chrome 和 Edge 中都被接受,但是在 Firefox 中加载应用程序时,会生成以下违规情况:Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”).
为什么 Firefox 不允许上述指令?
Firefox 执行 not support script-src-elem
指令因此它使用 script-src 'self';
不允许 'unsafe-inline'
.
Chrome 支持 script-src-elem
指令因此它使用 script-src-elem 'self' https://www.example.com 'unsafe-inline';
允许 'unsafe-inline'
.
我没有要测试的 Edge 浏览器,但它是基于 Chromium 的,所以应该支持 script-src-elem
。
我有这个非常简单的 CSP header,请注意 script-src
指令:
default-src 'none'; script-src 'self'; script-src-elem 'self' https://www.example.com 'unsafe-inline'; style-src https://www.example.com 'unsafe-inline'; manifest-src 'self'; frame-ancestors 'self'; worker-src 'self'; connect-src 'self'; object-src 'none'; img-src 'self' data:;
header 在 Chrome 和 Edge 中都被接受,但是在 Firefox 中加载应用程序时,会生成以下违规情况:Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”).
为什么 Firefox 不允许上述指令?
Firefox 执行 not support script-src-elem
指令因此它使用 script-src 'self';
不允许 'unsafe-inline'
.
Chrome 支持 script-src-elem
指令因此它使用 script-src-elem 'self' https://www.example.com 'unsafe-inline';
允许 'unsafe-inline'
.
我没有要测试的 Edge 浏览器,但它是基于 Chromium 的,所以应该支持 script-src-elem
。