Edge 忽略内容安全策略中的 script-src
Edge ignores script-src in Content Security Policy
我有以下内容安全政策
value="default-src 'self'
style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline' 'unsafe-eval' http://svc.webspellchecker.net;
img-src 'self' data: https://s3.amazonaws.com;
frame-src 'self' *.salesforce.com *.force.com;"
这在 Chrome 和 Firefox 中工作正常。在 Edge 中它不是 运行 因为我们有一些内联脚本(即 onClick="foo()
)。
我的理解是 default-src
设置默认值,script-src
应该覆盖这些默认值。
有谁知道这是 Edge 中的错误,还是我以某种方式搞砸了?
原来的问题是,虽然这是我们的 CSP 在 web.test.config 中的样子,但转换将以下内容放入 web.config
value="default-src 'self'
 style-src 'self' 'unsafe-inline'; 

script-src 'self' 'unsafe-inline' 'unsafe-eval' http://svc.webspellchecker.net; 
 img-src 'self' data: https://s3.amazonaws.com;
 frame-src 'self' *.salesforce.com *.force.com;"
基本上 XDT 将值中的 CRLF 替换为
,这会导致 Edge 放弃处理 CSP,因此您只能得到第一行。
我有以下内容安全政策
value="default-src 'self'
style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline' 'unsafe-eval' http://svc.webspellchecker.net;
img-src 'self' data: https://s3.amazonaws.com;
frame-src 'self' *.salesforce.com *.force.com;"
这在 Chrome 和 Firefox 中工作正常。在 Edge 中它不是 运行 因为我们有一些内联脚本(即 onClick="foo()
)。
我的理解是 default-src
设置默认值,script-src
应该覆盖这些默认值。
有谁知道这是 Edge 中的错误,还是我以某种方式搞砸了?
原来的问题是,虽然这是我们的 CSP 在 web.test.config 中的样子,但转换将以下内容放入 web.config
value="default-src 'self'
 style-src 'self' 'unsafe-inline'; 

script-src 'self' 'unsafe-inline' 'unsafe-eval' http://svc.webspellchecker.net; 
 img-src 'self' data: https://s3.amazonaws.com;
 frame-src 'self' *.salesforce.com *.force.com;"
基本上 XDT 将值中的 CRLF 替换为 ,这会导致 Edge 放弃处理 CSP,因此您只能得到第一行。