Django内容安全策略支持。

django-simple-csp的Python项目详细描述


django简单csp

在django中添加csp头和nonce的简单中间件

用法

需要django>;=1.10

将其添加到已安装的应用程序设置变量:

INSTALLED_APPS = [
    ...
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ...
    'django-simple-csp'
    ...
]

将其添加到中间件(不是中间件类):

MIDDLEWARE = [
    ...
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ...
    'django-simple-csp.middleware.csp.CSPMiddleware',
    ...
]

css

TOdo:从标记名中删除哈希?

哈希内联样式的使用示例:

{% load csp %}
{% csp_css_hash %}
    td.style-class {
        background-color: red;
    }
{% end_csp_css_hash %}

chromium暂时不支持在style=“…”属性中使用。

javascript

nonces

待办事项:改成散列?

示例:

{% load csp %}
<script nonce={% csp_js_nonce %}>
    alert("bla")
</script>

配置值

csp_report_url=“” URL CSP错误应报告为,如果未使用,则设置为“”或不定义它。

csp_report_only=真 将头设置为仅报告CSP错误不强制执行CSP。默认为true。

csp_附加_脚本_src=[] 允许从

csp_附加_样式_src=[] 允许从

csp_附加_img_src=[] 允许从中加载其他主机映像的列表

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误