我有以下内容安全政策
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中的错误,还是我以某种方式破坏了它?
答案 0 :(得分:4)
原来问题是虽然这是我们的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,因此您只能获得第一行。