2016-06-10 45 views
2

我在Nginx中設置了Content-Security-Policy頭文件,我堅持讓本地託管的Typekit字體正常工作。破解CSP規則的本地託管字體

我使用下面的腳本對本地託管Typekit字體和結果已經很不錯了良好的加載時間並沒有FOUT:https://github.com/morris/typekit-cache

但是現在的問題是建立CSP通過這些字體。我嘗試了localStorage,但沒有奏效。

這是我得到的錯誤:

[僅限報告]拒絕加載字體 '數據:字體/ OpenType字體; BASE64,d09GMgABAAAAAFb0ABQAAAAAskgAAFaDAAIAAAAAAAAAAAAAA ... bJbjfY7U6T320POPp5HLprLxRlPwIJqShhBB1pRCUKkQmIKRpGoiON1kre7lGR0Z4h5ENMAQAA' 因爲它違反了以下內容安全政策指令: 「FONT-src的 '自我'

[僅限報告]拒絕加載字體 「數據:應用程序/字體WOFF;的base64,d09GRgABAAAAABwUAA4AAAAAKHQAAQAAAAAAAAAAA ... NfJJTVolXlnco7lXd LiWW32CnmmMrFlnJ5aXLN8srxynGxmBgfv9d + AQ8KdggAAAABVwJMPAAA」 因爲它違反了以下內容安全策略指令: 「FONT-src的 '自我'

(我刪除的字體-SRC政策中列出的域)。

謝謝

回答

2

你可以看到它的創建字體-SRC,當它加載它們作爲data,這是字體,而不是鏈接到的字體本身的base64編碼版本。

所以只需將font-src 'self';更改爲font-src 'self' data: ;,它應該可以正常工作。

+0

謝謝你完美照顧問題! – Mike