【问题标题】:Content Security Policy: hash for font-src: data内容安全策略:font-src 的散列:数据
【发布时间】:2021-02-10 02:09:20
【问题描述】:

我想为我的 CSP 指定一个允许字体的哈希值。

目前我的 default-src 是 none,然后对于 font-src 我有 'self'。

我的字体当前包含为数据,例如:“data:font/ttf;base64,AAEAAAARAQ...”

我想添加散列,而不是仅仅添加 data: 到我的 font-src。我不确定这是否可能,或者如何正确地做到这一点。我已将“data:font/ttf;base64,AAEAAAARAQ...”的 sha256 哈希值作为“sha256-asldfkj”包含在我的 font-src 中,但这不起作用。

任何见解将不胜感激!

【问题讨论】:

  • @granty 感谢您的链接,它回答了我的问题。我期待这个答案,但只是觉得这个文档 (developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…) 仍然以某种方式表明哈希是 font-src 的有效来源。您的链接清除了这一点。再次感谢!

标签: content-security-policy


【解决方案1】:

1)。 'hash-value' 类型的 'sha256-he03geRc75f''sha384-nd78ro9==' 等仅适用于内联脚本和内联样式,请参阅 CSP3 规范的第二个 "Note" to para 5

2)。 CSP3 规范 did extend 将使用情况散列到外部脚本(但 Firefox 仍然有一个 bug 与此)。请注意,在这种情况下,您必须在标签中使用integrity= 属性。

因此哈希不适用于字体,因为上面的 第 1 段)(另外,您可能忘记使用 integrity= 属性)。
data:-URL 被认为是外部资源的 URL,而不是内联的。因此,由于上述第 2 段),哈希也不适用。

注意:'hash-value'supported 以允许外部脚本在 Chrome 中使用 data:-urls。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2017-03-14
    • 2018-08-14
    • 2016-03-25
    • 2018-02-14
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多