Play 中的内容安全策略 headers!框架
Content Security Policy headers in Play! Framework
我对使用 Play 的内容安全策略有疑问!框架(2.6)。
我在项目中添加了一个用于绘制图表的外部库,javascript 文件在项目中并且图表渲染良好。
我遇到的问题是我的控制台左右喷出错误。这是我不断收到的错误:
Refused to apply inline style because it violates the following
Content Security Policy directive: "style-src 'self'". Either the
'unsafe-inline' keyword, a hash
('sha256-GPjBVmsZjSEoackW5SF7HKgSHcUUBqf1/TJwOl3Co7Y='), or a nonce
('nonce-...') is required to enable inline execution.
在寻找解决此问题的方法时,我遇到了诸如在 HTML 中包含元标记之类的东西,但在 Play 中却没有任何作用。我还尝试将 ContentSecurityHeader 放入 application.conf 中,如下所述:
https://www.playframework.com/documentation/2.6.x/SecurityHeaders
那也没有用。在开发我的项目时,我也遇到了关于 default-src 'self' 的错误,我认为这将是相同类型的修复,并且它与我没有得到正确的配置有关。
如果有人必须进行此类配置,我会喜欢一些关于如何正确配置我的应用程序的指示。
提前致谢!
将这一行 play.filters.disabled += "play.filters.headers.SecurityHeadersFilter" 添加到 application.conf 文件,这对我有用
为了允许来自 cdn 的图像,以下对我有用(Play 版本 2.6)
play.filters.headers.contentSecurityPolicy = "default-src 'self'; img-src 'self' https://my.img.cdn.com"
以下允许的内联样式属性:
play.filters.headers.contentSecurityPolicy = "default-src 'self'; style-src 'self' 'unsafe-inline'"
但是有一个警告:
Banning inline script is the biggest security win CSP provides, and banning inline style likewise hardens your application. HTML5 Rocks - Content Security Policy (2017-11-18)
我对使用 Play 的内容安全策略有疑问!框架(2.6)。
我在项目中添加了一个用于绘制图表的外部库,javascript 文件在项目中并且图表渲染良好。
我遇到的问题是我的控制台左右喷出错误。这是我不断收到的错误:
Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-GPjBVmsZjSEoackW5SF7HKgSHcUUBqf1/TJwOl3Co7Y='), or a nonce ('nonce-...') is required to enable inline execution.
在寻找解决此问题的方法时,我遇到了诸如在 HTML 中包含元标记之类的东西,但在 Play 中却没有任何作用。我还尝试将 ContentSecurityHeader 放入 application.conf 中,如下所述: https://www.playframework.com/documentation/2.6.x/SecurityHeaders 那也没有用。在开发我的项目时,我也遇到了关于 default-src 'self' 的错误,我认为这将是相同类型的修复,并且它与我没有得到正确的配置有关。
如果有人必须进行此类配置,我会喜欢一些关于如何正确配置我的应用程序的指示。
提前致谢!
将这一行 play.filters.disabled += "play.filters.headers.SecurityHeadersFilter" 添加到 application.conf 文件,这对我有用
为了允许来自 cdn 的图像,以下对我有用(Play 版本 2.6)
play.filters.headers.contentSecurityPolicy = "default-src 'self'; img-src 'self' https://my.img.cdn.com"
以下允许的内联样式属性:
play.filters.headers.contentSecurityPolicy = "default-src 'self'; style-src 'self' 'unsafe-inline'"
但是有一个警告:
Banning inline script is the biggest security win CSP provides, and banning inline style likewise hardens your application. HTML5 Rocks - Content Security Policy (2017-11-18)