【问题标题】:Content Security Policy headers in Play! FrameworkPlay 中的内容安全策略标头!框架
【发布时间】:2018-01-14 12:55:39
【问题描述】:

我对使用 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' 的错误,我认为这将是相同类型的修复,并且与我不正确的配置有关。

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

提前致谢!

【问题讨论】:

    标签: playframework configuration content-security-policy playframework-2.6


    【解决方案1】:

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

    【讨论】:

    • 这是不好的做法
    【解决方案2】:

    为了允许来自 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 - Content Security Policy (2017-11-18)

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 1970-01-01
      • 2021-10-31
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多