【问题标题】:Django , Content Security Policy directiveDjango , 内容安全策略指令
【发布时间】:2015-10-16 14:40:37
【问题描述】:

我正在尝试使用以下方法将 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' 'unsafe-inline'"。

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'>

【问题讨论】:

    标签: css django google-app-engine


    【解决方案1】:

    将此添加到您的 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'",)
    

    看看http://www.w3.org/TR/CSP/

    【讨论】:

    • 我必须添加以下内容:CSP_STYLE_SRC = ("'self'", 'fonts.googleapis.com',"'unsafe-inline'",'maxcdn.bootstrapcdn.com') 任何问题与“'不安全内联'”?请注意,这只是一个测试页面,但很高兴知道
    • unsafe-inline 允许内联 CSS,例如

      标题。

      .
    【解决方案2】:

    使用内容安全策略保护 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;
    
    1. pip install django-csp
    2. 调整项目的设置模块,将“django-csp”中间件添加到中间件类中
    3. 添加上述 CSP 标头

    更多资源:

    http://django-csp.readthedocs.io/en/latest/

    https://www.templarbit.com/blog/2018/06/14/content-security-policy-with-django

    【讨论】:

      【解决方案3】:

      这是来自 HTML5 中的浏览器。这是一篇关于如何在标题中修复它的好文章:

      http://www.html5rocks.com/en/tutorials/security/content-security-policy/

      还有一个 Django 应用程序用于处理此标头:

      http://django-csp.readthedocs.org/en/latest/configuration.html

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2018-02-14
        • 1970-01-01
        • 2018-12-25
        • 2014-06-06
        • 2021-12-07
        • 1970-01-01
        • 2023-01-07
        • 2018-08-14
        • 1970-01-01
        相关资源
        最近更新 更多