为了账号安全,请及时绑定邮箱和手机立即绑定

Django:关闭选项卡时自动注销(不是浏览器)

Django:关闭选项卡时自动注销(不是浏览器)

catspeake 2021-06-06 15:22:04
我使用以下代码行让我的浏览器在浏览器关闭时将用户从 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 分钟内自动过期。

这是一个有点复杂的设置,但我已经看到它在银行网站等上实施。由您决定是否为您的网站值得。


查看完整回答
反对 回复 2021-06-09
  • 1 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信