Ember.js 在应用程序启动时显示内容安全策略

Ember.js 在应用程序启动时显示内容安全策略,ember.js,ember-cli,content-security-policy,Ember.js,Ember Cli,Content Security Policy,我试图设置CSP和余烬正在做一些有趣的,难以描述的事情。我正确地配置了一个部分,但在另一个部分却失败了。或者突然,livereload被封锁了。或者它说没有定义scriptsrc,并返回到defaultsrc,如果这不是谎言的话,这很好。我知道ember cli内容安全策略CSP允许livereload等,但我不知道何时/如何做到这一点。我想验证我配置的CSP是否在ember cli处理过程中仍然有效,因为调试一小时后,我不再信任它 长话短说:我想在我的应用程序启动时看到CSP,就在显示版本时。

我试图设置CSP和余烬正在做一些有趣的,难以描述的事情。我正确地配置了一个部分,但在另一个部分却失败了。或者突然,livereload被封锁了。或者它说没有定义
scriptsrc
,并返回到
defaultsrc
,如果这不是谎言的话,这很好。我知道
ember cli内容安全策略
CSP允许livereload等,但我不知道何时/如何做到这一点。我想验证我配置的CSP是否在ember cli处理过程中仍然有效,因为调试一小时后,我不再信任它

长话短说:我想在我的应用程序启动时看到CSP,就在显示版本时。我不想看到我已经配置的CSP,但Ember正在使用的CSP可能相同,也可能不同:这正是我想要了解的

我如何告诉余烬“向我展示您正在使用的CSP”

编辑 感谢@Bek提供有关检查请求头的提示

使用此配置(从
ember cli内容安全策略粘贴的副本
readme):

我得到这些标题:

Content-Security-Policy-Report-Only: default-src 'none'; script-src 'self',https://cdn.mxpnl.com,e,l,f,', ,',u,n,s,a,f,e,-,e,v,a,l,' localhost:49152 0.0.0.0:49152; font-src 'self',http://fonts.gstatic.com,e,l,f,'; connect-src 'self',https://api.mixpanel.com,http://custom-api.local,l,f,' ws://localhost:49152 ws://0.0.0.0:49152 http://undefined:16013/csp-report; img-src 'self'; style-src 'self','unsafe-inline',http://fonts.googleapis.com,l,f,'; media-src null; report-uri http://undefined:16013/csp-report;
似乎ember cli内容安全策略确实在做一些有趣的事情。不知道怎么解决这个问题。我打开了一个从主机服务器发送的。

内容安全策略是简单的头文件(附加到所有响应),您可以随时在chrome开发工具网络部分查看它

我得到这些标题:
看起来ember cli内容安全策略确实在做一些有趣的事情。不知道怎么解决这个问题。我打开了一个问题

这个问题出现在
v0.4.0
中,但不在
master
中(我想它已经解决了),所以现在您可以从
master
安装它

"ember-cli-content-security-policy": "rwjblue/ember-cli-content-security-policy#master",

你想显示environment.js中的
contentSecurityPolicy
hash吗?@Bek:不,我知道那是什么,因为我自己设置的。我想显示live ember应用程序正在使用的
contentSecurityPolicy
。一旦应用程序启动。就在发送任何请求之前(当然,加载应用程序的请求除外),这令人困惑,我认为这是ember使用environment.js中的
contentSecurityPolicy
时所做的。如果插件干扰了开发,您总是可以选择删除它:P
ember cli
构建在您在
environment.js
中设置的
contentSecurityPolicy
之上。理论上,它的作用是微创的,但正如问题中所述,“它在做一些有趣的事情”,我想知道真正的(处理后)
contentSecurityPolicy
是什么,以了解发生了什么。谢谢Bek。似乎
ember cli内容安全策略
正在做一些奇怪的事情。我已经编辑了我的答案来描述我发现了什么。你知道会发生什么吗?太好了,谢谢!我想知道为什么我以前没有看到这个。我相信我有csp@0.4.0上周安装的,然后我删除了它,以阻止它进入我的开发周期。昨天,在部署到生产环境时,我重新安装了npm,以允许访问外部API和AmazonS3。可能是NPMJ中的0.4.0最近发生了变化,引入了一个bug。这意味着版本0.4.0已经被覆盖,这真的是一件让人不悦的事情。@gonvaled我不认为他们更改了0.4.0,如果他们更改了代码,他们会增加版本号,否则会导致灾难:),但我想你只是以前没有注意到这个错误可能是因为我不知何故错过了这个,或者我的设置在上周发生了变化。我所做的更改肯定是在我的
environment.js
中添加一个显式的
ENV.contentSecurityPolicy
,也许这就是触发错误的原因。另一方面:这不是我第一次体验到NPMJ版本被覆盖。还有一句话:我真的怀疑0.4.0能否在NPMJ中存活很长一段时间而不会引发很多人的bug,而且这个问题(看起来)没有被发现,这让我觉得NPMJ最近确实被覆盖了。即使它在npm中被覆盖,我也不意味着我可以打破,由于主回购版本未更改。有一种叫做
npm shrinkwrap
的东西,它可以锁定包的源代码,若你们想非常小心的话
"ember-cli-content-security-policy": "rwjblue/ember-cli-content-security-policy#master",