如何在内容安全策略元标记中设置font-face数据?

时间:2017-03-10 17:04:11

标签: html css font-face webfonts content-security-policy

我在CSS文件中使用非常小的嵌入字体,如下所示:

@font-face {
    font-family: 'fontello';
    src: url('data:application/octet-stream;base64,...');
}

但是在Chrome中加载页面时,我在控制台中收到此错误,并且未加载字体。

  

拒绝加载字体'data:application / octet-stream; base64,...',因为它违反了以下内容安全策略指令:“default-src'self'”。请注意,'font-src'未明确设置,因此'default-src'用作后备。

我使用以下meta标记:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; font-src data:" />
<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; font-src data:" />
<meta http-equiv="X-WebKit-CSP" content="default-src 'self'; font-src data:" />

我对CSP进行了一些研究,我添加的meta标签似乎应该可以正常工作,但到目前为止一切都没有改变。我明确地设置font-src然后错误消息说我没有。我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您明确设置了字体,或者可以使用“ font-src”播放,则将其摘录到头部。

<meta http-equiv="Content-Security-Policy" content="font-src 
https://* data:;" />