W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一些可以用來控制會話行為的 Django settings :
SESSION_CACHE_ALIAS
?:默認為default
?如果你使用的是 基于緩存的會話存儲,這將選擇要使用的緩存。SESSION_COOKIE_AGE
?:默認為 1209600 (2 周,以秒為單位)。會話 cookie 的壽命,以秒為單位。SESSION_COOKIE_DOMAIN
?:默認為 ?None
?用于會話 cookie 的域。將其設置為一個字符串,如 "example.com",用于跨域 cookie,或使用 ?None
?用于標準域 cookie。要使用帶有 ?CSRF_USE_SESSIONS
?的跨域 cookie,你必須包括一個前導點(例如 ".example.com"),以適應 ?CSRF
? 中間件的引用檢查。在生產(chǎn)型網(wǎng)站上更新此配置時要謹慎。如果你更新此配置,在以前使用標準域 cookie 的網(wǎng)站上啟用跨域 cookie,現(xiàn)有用戶 cookie 將被設置為舊域。這可能導致他們無法登錄,只要這些 cookie 持續(xù)存在。這個配置也會影響到 ?django.contrib.messages
? 所設置的 cookies。SESSION_COOKIE_HTTPONLY
?:默認為 ?True
?是否對會話 cookie 使用 ?HttpOnly
?標志。如果設置為 True,客戶端的 JavaScript 將無法訪問會話 cookie。HttpOnly
?是包含在 ?Set-Cookie HTTP
? 響應頭中的一個標志。它是 RFC 6265#section-4.1.2.6 標準中 Cookie 的一部分,可以作為一種有用的方式來降低客戶端腳本訪問受保護 Cookie 數(shù)據(jù)的風險。這使得攻擊者將跨站腳本漏洞升級為完全劫持用戶的會話變得不那么簡單。關閉這個功能的理由不多。你的代碼不應該從 JavaScript 中讀取會話 cookies。SESSION_COOKIE_NAME
?:默認為 ?sessionid
?用于會話的 cookie 的名稱。這可以是任何你想要的(只要它與你的應用程序中的其他 cookie 名稱不同)。SESSION_COOKIE_PATH
?:默認為 ?/
?會話 cookie 上設置的路徑。這個路徑應該與你的 Django 安裝的 URL 路徑相匹配,或者是該路徑的父路徑。如果你有多個 Django 實例在同一個主機名下運行,這個功能很有用。他們可以使用不同的 cookie 路徑,而且每個實例只能看到自己的會話 cookie。SESSION_COOKIE_SAMESITE
?:默認為 ?Lax
?會話 cookie 上的 SameSite 標志的值。這個標志可以防止 cookie 在跨站請求中被發(fā)送,從而防止 CSRF 攻擊,使一些竊取會話 cookie 的方法變得不可能。Strict
?:防止瀏覽器在所有跨站點瀏覽的情況下向目標站點發(fā)送 cookie,即使在使用常規(guī)鏈接時也是如此。例如,對于類似 GitHub 的網(wǎng)站來說,這意味著如果登錄的用戶通過企業(yè)論壇或電子郵件鏈接到 GitHub 的私人項目,GitHub 將不會收到會話 cookie,用戶將無法訪問該項目。然而,銀行網(wǎng)站很可能不允許從外部網(wǎng)站鏈接任何交易頁面,因此?Strict
?標志將是合適的。Lax
?(默認):為希望在用戶從外部鏈接到達后保持用戶登錄會話的網(wǎng)站提供安全和可用性之間的平衡。在 GitHub 的場景下,當跟隨外部網(wǎng)站的常規(guī)鏈接時,會話 cookie 將被允許,而在 CSRF 傾向的請求方法(例如 POST)中被阻止。None
?(字符串):會話 cookie 將隨所有同站和跨站請求發(fā)送。False
?:停用該標志。SESSION_COOKIE_SECURE
?:默認為?False
?。如果設置為 ?True
?,cookie 將被標記為“安全”,這意味著瀏覽器可以確保 cookie 只在 HTTPS 連接下發(fā)送。關閉這個配置并不是一個好主意,因為攻擊者可以用數(shù)據(jù)包嗅探器捕獲一個未加密的會話 cookie,并使用 cookie 來劫持用戶的會話SESSION_ENGINE
?:默認為 ?django.contrib.sessions.backends.db
???刂?Django 存儲會話數(shù)據(jù)的地方。SESSION_EXPIRE_AT_BROWSER_CLOSE
?:默認為?False
?。是否在用戶關閉瀏覽器時結束會話。SESSION_FILE_PATH
?:默認為?None
?。如果你使用的是基于文件的會話存儲,那么這個選項設置了 Django 存儲會話數(shù)據(jù)的目錄,當使用默認值(None)時,Django 將使用系統(tǒng)的標準臨時目錄。SESSION_SAVE_EVERY_REQUEST
?:默認為?False
?。如果這個配置是 ?False
?(默認),那么會話數(shù)據(jù)只有在被修改時才會被保存,也就是說,如果它的任何字典值被分配或刪除,那么會話數(shù)據(jù)就會被保存。即使這個配置是活動的,也不會創(chuàng)建空會話。SESSION_SERIALIZER
?:默認為 ?django.contrib.sessions.serializers.JSONSerializer
?。用于序列化會話數(shù)據(jù)的序列化器類的完整導入路徑。Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: