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請求

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