如果选项卡关闭,会自动登出。

17 浏览
0 Comments

如果选项卡关闭,会自动登出。

这个问题在这里已经有了答案:

检测浏览器或选项卡关闭

如何在30分钟后使PHP会话过期?

如果用户关闭了选项卡(登录账户的选项卡),我该如何自动登出用户。我知道可能可以使用cookie来实现,但我们如何通过会话实现这一点?

admin 更改状态以发布 2023年5月21日
0
0 Comments

取决于你想要多严格。

如果你需要一个“即时”注销,那么最简单的方法就是使用 AJAX 每 30 秒到 1 分钟向服务器进行一次轮询以保持会话活动。这会导致很多开销和增加服务器负载,但是这是唯一一种确保立即注销某个用户的方法。

同样的原则也适用于较长时间。假设是 30 分钟。你可以像这个主题所说的那样,在 30 分钟后注销用户,或者再次使用 AJAX 每 10-15 分钟向服务器轮询,在用户在页面上时保持会话活动

这可能就是所有的了。

就像@thatidiotguy所说的那样,你可以实现窗口卸载事件来处理用户退出,但是你必须非常小心 -如果用户同时打开了两个浏览器窗口,那怎么办呢?你不希望在他同时查看两个页面的情况下将其注销。

0
0 Comments

你不能保证当窗口关闭时用户会被注销,因为你依赖网页的正常关闭。如果浏览器硬件出现问题,Javascript 就无法执行。

我建议在窗口卸载时实现 Javascript 代码来调用注销页,这将在大多数情况下起作用。

对于其他情况,你应该降低会话超时限制。

0