破坏CSP规则的本地托管字体

时间:2016-06-10 14:37:50

标签: content-security-policy typekit

我在Content-Security-Policy设置了Nginx标题,但我仍然坚持让本地托管的Typekit字体生效。

我正在使用以下脚本在本地托管Typekit字体,结果非常好,加载时间很短,没有FOUT:https://github.com/morris/typekit-cache

但现在问题是设置CSP来传递这些字体。我试过localStorage但它没有用。

这些是我得到的错误:

  

[仅报告]拒绝加载字体   '数据:字体/ OpenType字体; BASE64,d09GMgABAAAAAFb0ABQAAAAAskgAAFaDAAIAAAAAAAAAAAAAA ... bJbjfY7U6T320POPp5HLprLxRlPwIJqShhBB1pRCUKkQmIKRpGoiON1kre7lGR0Z4h5ENMAQAA'   因为它违反了以下内容安全策略指令:   “font-src'self'

     

[仅报告]拒绝加载字体   '数据:应用程序/字体WOFF;的base64,d09GRgABAAAAABwUAA4AAAAAKHQAAQAAAAAAAAAAA ... NfJJTVolXlnco7lXdLiWW32CnmmMrFlnJ5aXLN8srxynGxmBgfv9d + AQ8KdggAAAABVwJMPAAA'   因为它违反了以下内容安全策略指令:   “font-src'self'

(我删除了为font-src政策列出的域名。)

谢谢

1 个答案:

答案 0 :(得分:8)

你可以看到它在加载时将它创建为data的字体src。这是字体的base64编码版本,而不是字体本身的链接。

所以,只需将font-src 'self';更改为font-src 'self' data: ;,它就可以正常使用。