django中配置文件的含义-01-20

django的setting中各配置

1. ADMINS

是一个元组,由一个个小元组组成,小元组中连个参数,name和Email用于debug=False的时候,还要配置email,出现问题的时候给admin发送的错误报告

2. ALLOWED_HOSTS

是一个列表,里面的每个元素都是一个host,只有host字段值在这里面的才能被允许访问,强烈不推荐用*

3. SESSION_COOKIE_HTTPONLY

=True 表示,session和cookie只能被http读取,不能被javascript读取

4. SESSION_COOKIE_SECURE

表示 session cookie 被secure标记,只能通过https传输,默认False

5. 中间键

  • 常见的有:
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',
]
  1. SessionMiddleware:

    表示在应用中使用session

  2. CsrfViewMiddleware:

    表示Django使用CSRG token来防范csrf攻击

  3. XFrameOptionsMiddleware:

    Clickjacking(点击劫持)是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼在2008年首创的。是一种视觉欺骗手段,在web端就是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。
    To set the same X-Frame-Options value for all responses in your site
    就是设置一个相同的x-frame-options参数

  4. CommonMiddleware

    主要是生效setting中的配置:

    DISALLOWED_USER_AGENTS: 一个列表,限定以里面任意元素为user-agents的请求,让他不能访问
    APPEND_SLASH = True 表示Django会自动帮哪些尾部没有‘/’的加上‘/’,status_code=301
    PREPEND_WWW = True 自动把url前补全www
    USE_ETAGS = True 声明能够在html中使用Etags,会返回给浏览器not modified响应(是否是全部应用?)
    
  5. AuthenticationMiddleware

    将提供一个request.user的属性,如果user没有login,就是None,陌生人,登陆用户login(),登出用logout()

  6. MessageMiddleware

    • 让你的Django支持messages:messages使用session的存储类来存储,
    • 使用方法:message是支持信息level的
from django.contrib import messages
messages.add_message(request, messages.INFO, 'Hello world.')
# 或
messages.debug(request, '%s SQL statements were executed.' % count)
messages.info(request, 'Three credits remain in your account.')
messages.success(request, 'Profile details updated.')
messages.warning(request, 'Your account expires in three days.')
messages.error(request, 'Document deleted.')
  • 模版中读取的方法:
{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}
  1. SecurityMiddleware

    使生效:

    • SECURE_BROWSER_XSS_FILTER = True 防范xss攻击
    • XSS攻击的基本概念主要是:

      恶意用户在网页的可输入的地方输入可执行的脚本(如javascript)代码,从而使网页解析执行该脚本代码来达到攻击的效果, 比如在网站上写一篇文章时包含这段代码: ,如果该字符串在后台没有进行XSS攻击防范,就会导致导致其他人访问该文章时网页执行上面的脚本从而alert(1).

    • 防止XSS攻击最主要方式 :

      把特殊标签符号转码,比如把”<”, “>”, “&”等这些特殊字符转码即可防止XSS攻击.

    • SECURE_SSL_REDIRECT = True Django会自动的将http请求重定向(301)到https请求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章