使用Ember/JavaScript的动态内容安全策略

问题描述:

我们有一个基于Ember的站点,它分为两个概念部分,它们需要各自的内容安全策略。目前在index.html上应用了单个CSP。使用Ember/JavaScript的动态内容安全策略

是否有可能在页面加载后,API /服务器响应中发送的Content-Security-Policy标题被浏览器所尊重?我试图在API响应中发送这个头文件,但似乎并没有被Chrome所尊敬。

+1

这是不可能送*页面加载后的任何*头,对不对?这不是HTTP工作的方式......标题需要在响应主体之前发送。您是否尝试过使用“元素来交付策略? – sideshowbarker

+0

我们可以在页面加载后发送来自API请求的响应头。这些响应头文件可以包含影响状态的cookie - 因此,它不是完全不合理的(只有大部分是不合理的)才能想象CSP可以类似地工作。元方法可能运作良好,谢谢。 – nullPainter

这不应该是可能的,因为CSP规格(等级2,2016年12月15日):

3.5。政策适用性

本节不是规范性的。

策略与受保护的资源相关联,并为该资源执行或监视。如果资源没有创建新的执行上下文(例如,将脚本,图像或样式表包含到文档中),则随该资源一起交付的任何策略都将被丢弃而不会生效。其执行受制于包含上下文的政策或政策。

源:如HTML元素meta提供https://www.w3.org/TR/CSP2/#which-policy-applies

更改CSP也应该是不可能的:

3.3。 HTML元素meta

[...]

注:修改的元素已经被解析后meta元素的内容属性将被忽略。

来源:https://www.w3.org/TR/CSP2/#delivery-html-meta-element

+0

好吧,这是吹。谢谢。 – nullPainter