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