如果我从后端删除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..;
答案 0 :(得分:1)
删除sandbox
指令,或向其添加allow-same-origin
。默认情况下,sandbox
子句将所有嵌入内容(包括脚本!)视为来自唯一来源,从而阻止其使用您网站的Cookie。