9

我对使用 Play 的内容安全政策有疑问!框架(2.6)。

我在项目中添加了一个用于绘制图表的外部库,javascript 文件在项目中,并且图表呈现正常。

我遇到的问题是我的控制台左右吐出错误。这是我不断收到的错误:

拒绝应用内联样式,因为它违反了以下内容安全策略指令:“style-src 'self'”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-GPjBVmsZjSEoackW5SF7HKgSHcUUBqf1/TJwOl3Co7Y=”)或随机数(“nonce-...”)。

在寻找如何解决这个问题时,我遇到了一些东西,比如在 HTML 中包含一个元标记,这在 Play 中没有任何作用。我还尝试将 ContentSecurityHeader 放入 application.conf 中,如下所述: https ://www.playframework.com/documentation/2.6.x/SecurityHeaders 这也不起作用。在开发我的项目时,我也遇到了关于 default-src 'self' 的错误,我认为这将是相同类型的修复,并且与我不正确的配置有关。

如果有人必须先进行这种类型的配置,我会喜欢一些关于如何正确配置我的应用程序的指示。

提前致谢!

4

2 回答 2

12

为了允许来自 cdn 的图像,以下内容对我有用(播放版本 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'"

但是有一个警告:

禁止内联脚本是 CSP 提供的最大安全胜利,禁止内联样式同样会强化您的应用程序。HTML5 Rocks - 内容安全政策 (2017-11-18)

于 2017-11-20T13:25:05.993 回答
3

将此行play.filters.disabled += "play.filters.headers.SecurityHeadersFilter"添加到 application.conf 文件,这对我有用

于 2017-11-08T17:54:08.607 回答