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

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