我正在尝试使用以下命令将 font-awesome 导入到我的应用程序中:
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
这会在 JS 控制台中返回以下错误:
拒绝加载样式表 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css' 因为它违反了以下内容安全策略指令: “style-src'self''不安全内联'”。
Django 应用程序是一个 djangae(Django + GoogleAppEngine)示例应用程序,我将其用作我想要制作的内容的起点。 https://github.com/davide-ceretti/googleappengine-djangae-blog。
导入发生在base.html中。我怎样才能解决这个问题?我认为这是一个设置,但我无法追踪它。
附注我在另一个导入中遇到同样的错误:
<link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
将此添加到您的settings.py:
# Keep our policy as strict as possible
CSP_DEFAULT_SRC = ("'none'",)
CSP_STYLE_SRC = ("'self'", 'fonts.googleapis.com')
CSP_SCRIPT_SRC = ("'self'",)
CSP_FONT_SRC = ("'self'", 'fonts.gstatic.com')
CSP_IMG_SRC = ("'self'",)
使用内容安全策略保护 django 应用程序非常简单,在您的情况下,标头应如下所示:
Content-Security-Policy: default-src 'none'; script-src 'self' www.google-analytics.com; connect-src 'self'; img-src 'self' www.google-analytics.com; style-src 'self' fonts.googleapis.com; font-src 'self' fonts.gstatic.com;
'csp.middleware.CSPMiddleware'
,参见安装指南)更多资源:
http://django-csp.readthedocs.io/en/latest/
https://www.templarbit.com/blog/2018/06/14/content-security-policy-with-django
这是来自 HTML5 浏览器的。这是一篇关于如何在标题中修复它的好文章:
http://www.html5rocks.com/en/tutorials/security/content-security-policy/
还有一个 Django 应用程序用于处理此标头:
http://django-csp.readthedocs.org/en/latest/configuration.html
祝你好运!