内容安全策略指令:拒绝加载字体

时间:2017-11-09 09:34:39

标签: angular content-security-policy

我使用angular-cli创建了一个角度项目但是当我使用

启动这个项目时
npm start

显示

Refused to load the font 'data:font/woff;base64,d09GRgABAAAAAGVUABEAAAAAxuQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABgAAAAC4AAAA0ArgC7UdQT1MAAAGwAAAQ6AAALgxKsqRTR1NVQgAAEpgAAAH3AAAELqI5y+RPUy8yAAAUkAAAAE8AAABgaGyBu2NtYXAAABTgAAABlAAAAkQkRATXY3Z0IAAAFnQAAABeAAAAugDsQf1mcGdtAAAW1AAABZcAAAvNb3/BHGdhc3AAABxsAAAACAAAAAgAAAAQZ2x5ZgAAHHQAAEApAAB3CtbiupxoZWFkAABcoAAAADYAAAA2BkubWWhoZWEAAFzYAAAAIAAAACQHFARfaG10eAAAXPgAAAI6AAAEEk4TN4Nsb2NhAABfNAAAAhIAAAISiLhpam1heHAAAGFIAAAAIAAAACACigzgbmFtZQAAYWgAAACUAAABHhQGLdJwb3N0AABh/AAAAq4AAASRk5y6n3ByZ...QxUajCCFt4p9HP4fzdSWs2XhWl5HvJazrIrFUyB0l5dpqcW10lV2wukjMLuAvyMHNiYpgPsrCVXZDKrkpll6UWkh7kABVAFVCDe7UFmxagDegA+hLHRPbqtMo7ZHCpKdT6tPGXybzo0+RXBLoPZt1tELcXxCmAAyZwYTJvdDFZKnDER44X2451rDqCyunIsRWvLSx6wnWqwPj/uX5/KuEy6DL0z6A/Fn79VihxMFJsrlAFy4DpZOcvNlMeNp+BRDLj0r+XFdRxdSNSNxiI/AL3ojKdAAB4AWPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGdictkUwWDAwsDJogTgOPN4c9iz6bMos4iysHFChUDZXJnMWTSZZJrAQt9M+YQYBBh4GTgY2kEZOoJiA0z4GBxiEiDEzuGxUYewIjNjg0BGxkTnFZaMaiLeLo4GBkcWhIzkkAqQkEggceHw5HFkM2VRZJFlYebR2MP5v3cDSu5GJwWUDW9xG1hQXAFAmKZU=' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.

我读了一些SO答案然后得到了我需要设置CSP元标记的重点,所以我添加了

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; font-src 'self' data: fonts.gstatic.com">

在我的 index.html 文件中。但这仍然在浏览器控制台上显示相同的错误日志。有什么帮助吗?

此项目位于https://www.visualstudio.com/上托管的git目录的目录中。

当我将这个项目从这个git目录移动到其他地方并运行时,它可以工作。我不知道是什么原因?

2 个答案:

答案 0 :(得分:1)

如果在元标记中设置CSP之前收到错误,则已存在现有CSP。检查文档中的其他元标记或检查HTTP响应标头。您可以使用https://securityheaders.io/扫描您的应用程序,看看是否有CSP设置。

注意:如果您在元标记中设置了CSP,则需要将标记放在之前页面中,以使用它将要列入白名单的任何资产。 <meta>标记应尽可能早地放在页面中。

答案 1 :(得分:0)

https://fonts.googleapis.com; font-src'self'this question: How to use ThreeTenABP in Android Project data:;“&gt;

^应该做的伎俩