启用CSP策略导致前端的javascript不发送cookie和引用标头?

时间:2018-03-12 23:51:11

标签: javascript node.js content-security-policy

如果我从后端删除CSP策略,则为nodejs。一切正常。但如果我启用它,javascript会中断。

为了进一步查看,我检查了由js文件生成的ajax请求的请求标头。有两个很大的区别:a)没有发送cookie,b)没有发送引用者标题。

对我而言,这是一个谜。

csp string:

Content-Security-Policy: 
default-src 'self'; 
script-src 'self' ...; 
style-src 'self' 'unsafe-inline' ...; 
font-src 'self' ..; 
img-src 'self' data: ..; 
sandbox allow-forms allow-scripts; 
report-uri /report-violation; 
object-src 'none'; 
worker-src 'self' ..; 
frame-src 'self' h..;

1 个答案:

答案 0 :(得分:1)

删除sandbox指令,或向其添加allow-same-origin。默认情况下,sandbox子句将所有嵌入内容(包括脚本!)视为来自唯一来源,从而阻止其使用您网站的Cookie。