如果选项卡已关闭,则自动注销

2 php

如果他/她已关闭选项卡(他/她已登录帐户的选项卡),我将如何自动将用户自动登录.我知道有可能使用cookies,但我们如何通过Sessions实现这一目标?

tha*_*guy 7

您无法保证在窗口关闭时用户将被注销,因为您正依赖页面正常关闭.如果浏览器硬崩溃Javascript将无法执行.

我建议实现JAX代码到AJAX调用窗口卸载的注销页面,这将在大多数时间工作.

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


Zor*_*leQ 5

取决于你想要的严格程度.

如果您需要" 即时 "注销,那么最简单的方法是使用AJAX来ping您的服务器每个让我们说30秒 - 1分钟以保持会话活着.这会导致很多开销并增加服务器的负载,但这是立即解决某人问题的唯一可靠方法.

同样的原则适用于更长的时期.比方说30分钟吧.您可以执行本主题中所述的操作,并在30分钟后将某人记录下来,或者每隔10-15分钟再次使用AJAX 对服务器执行ping操作,并在用户在页面上时保持会话处于活动状态.

它可能没有更多.

就像@thatidiotguy所说,你可以实现窗口卸载事件来处理用户出口,但是你必须非常小心 - 如果用户有2个浏览器窗口打开怎么办?如果他同时查看2页,你不会忘记他.