我使用以下代碼行讓我的瀏覽器在瀏覽器關閉時將用戶從 Django 管理員中注銷SESSION_EXPIRE_AT_BROWSER_CLOSE setting to true如何更改此設置并使其在用戶關閉選項卡時,用戶被注銷?
1 回答

慕沐林林
TA貢獻2016條經驗 獲得超9個贊
與 Django 完全無關。它與瀏覽器如何處理 cookie 更相關。
發生的情況是,如果 cookie 沒有到期日期(Expires
屬性)或Max-Age
,瀏覽器會將它們視為會話 cookie。這意味著當您退出瀏覽器會話時,即當您關閉瀏覽器時,瀏覽器將刪除該 cookie 。
由于關閉選項卡不等于退出瀏覽器,因此瀏覽器不會刪除會話 cookie。
更新:如果有人真的需要在選項卡關閉時將用戶注銷,那么可以實現,嗯,有點。
您可以將會話 cookie 的年齡設置為一個較小的數字,可能是 10 分鐘。當用戶打開選項卡時,每 10 分鐘刷新一次 cookie(即發出 AJAX 請求以獲取新 cookie)。
當用戶關閉選項卡時,他們的會話將在接下來的 10 分鐘內自動過期。
這是一個有點復雜的設置,但我已經看到它在銀行網站等上實施。由您決定是否為您的網站值得。
添加回答
舉報
0/150
提交
取消