掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
一些可以用來控制會話行為的 Django settings :

創(chuàng)新互聯(lián)是一家專業(yè)提供慶城企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都做網(wǎng)站、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為慶城眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
SESSION_CACHE_ALIAS?:默認為default?如果你使用的是 基于緩存的會話存儲,這將選擇要使用的緩存。SESSION_COOKIE_AGE?:默認為 1209600 (2 周,以秒為單位)。會話 cookie 的壽命,以秒為單位。SESSION_COOKIE_DOMAIN?:默認為 ?None?用于會話 cookie 的域。將其設(shè)置為一個字符串,如 "example.com",用于跨域 cookie,或使用 ?None ?用于標準域 cookie。要使用帶有 ?CSRF_USE_SESSIONS ?的跨域 cookie,你必須包括一個前導(dǎo)點(例如 ".example.com"),以適應(yīng) ?CSRF? 中間件的引用檢查。在生產(chǎn)型網(wǎng)站上更新此配置時要謹慎。如果你更新此配置,在以前使用標準域 cookie 的網(wǎng)站上啟用跨域 cookie,現(xiàn)有用戶 cookie 將被設(shè)置為舊域。這可能導(dǎo)致他們無法登錄,只要這些 cookie 持續(xù)存在。這個配置也會影響到 ?django.contrib.messages? 所設(shè)置的 cookies。SESSION_COOKIE_HTTPONLY?:默認為 ?True?是否對會話 cookie 使用 ?HttpOnly ?標志。如果設(shè)置為 True,客戶端的 JavaScript 將無法訪問會話 cookie。HttpOnly ?是包含在 ?Set-Cookie HTTP? 響應(yīng)頭中的一個標志。它是 RFC 6265#section-4.1.2.6 標準中 Cookie 的一部分,可以作為一種有用的方式來降低客戶端腳本訪問受保護 Cookie 數(shù)據(jù)的風險。這使得攻擊者將跨站腳本漏洞升級為完全劫持用戶的會話變得不那么簡單。關(guān)閉這個功能的理由不多。你的代碼不應(yīng)該從 JavaScript 中讀取會話 cookies。SESSION_COOKIE_NAME?:默認為 ?sessionid?用于會話的 cookie 的名稱。這可以是任何你想要的(只要它與你的應(yīng)用程序中的其他 cookie 名稱不同)。SESSION_COOKIE_PATH?:默認為 ?/?會話 cookie 上設(shè)置的路徑。這個路徑應(yīng)該與你的 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?。如果設(shè)置為 ?True?,cookie 將被標記為“安全”,這意味著瀏覽器可以確保 cookie 只在 HTTPS 連接下發(fā)送。關(guān)閉這個配置并不是一個好主意,因為攻擊者可以用數(shù)據(jù)包嗅探器捕獲一個未加密的會話 cookie,并使用 cookie 來劫持用戶的會話SESSION_ENGINE?:默認為 ?django.contrib.sessions.backends.db???刂?Django 存儲會話數(shù)據(jù)的地方。SESSION_EXPIRE_AT_BROWSER_CLOSE?:默認為?False?。是否在用戶關(guān)閉瀏覽器時結(jié)束會話。SESSION_FILE_PATH?:默認為?None?。如果你使用的是基于文件的會話存儲,那么這個選項設(shè)置了 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ù)的序列化器類的完整導(dǎo)入路徑。
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流