【问题标题】:Refused to load the font '<URL>' because it violates the following Content Security Policy directive: "font-src 'none'" fonts.gstatic.com拒绝加载字体“<URL>”,因为它违反了以下内容安全策略指令:“font-src 'none'” fonts.gstatic.com
【发布时间】:2022-07-27 14:26:25
【问题描述】:

在我的 CSP 中我添加了

 font-src https://fonts.gstatic.com;

我收到一般错误

拒绝加载字体 '',因为它违反了以下内容安全策略指令:“font-src 'none'”

以及具体的错误

拒绝加载字体“https://fonts.gstatic.com/s/mulish/v10/1Ptvg83HX_SGhgqk0gotYKNnBcif.woff2”,因为它违反了以下内容安全策略指令:“font-src 'none'”。

当我这样做时:

font-src 'none' https://fonts.gstatic.com;

我收到此错误:

Content-Security-Policy 指令“font-src”包含关键字“none”以及其他源表达式。关键字 'none' 必须是指令值中唯一的源表达式,否则将被忽略。

当我这样做时:

font-src 'none';

我收到此错误:

拒绝加载字体“https://fonts.gstatic.com/s/mulish/v10/1Ptvg83HX_SGhgqk0gotYKNnBcif.woff2”,因为它违反了以下内容安全策略指令:“font-src 'none'”

我在这里错过了什么?

【问题讨论】:

    标签: content-security-policy


    【解决方案1】:

    最可能的解释是您定义了多个 CSP。图像需要为所有存在的 CSP 传递 img-src 指令(或 default-src 后备)。它们可能位于响应标头或元标记中。

    您需要识别 CSP 并修改/删除您不需要的内容。

    【讨论】:

    • 这个字体是从 js.stripe.com 加载的。这是否包含与我的冲突的自己的 CSP?
    • 您需要检查触发违规的位置以及相应的 CSP。检查带有内容的响应的标题(通常是 text/html)。
    【解决方案2】:

    我会在你的情况下尝试这样的事情

    font-src 'self' fonts.gstatic.com;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-15
      • 2020-03-22
      • 2018-01-04
      • 2021-05-29
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多