如果他/她关闭了选项卡(他/她登录帐户的选项卡),我将如何自动登录用户。我知道使用 cookie 可能是可行的,但我们如何通过 Sessions 实现这一点?
user2631717
问问题
16340 次
2 回答
8
您不能保证在窗口关闭时用户会被注销,因为您依赖于页面正常关闭。如果浏览器硬崩溃,Javascript 将无法执行。
我建议在 AJAX 中实现 Javascript 代码,在窗口卸载时调用注销页面,这在大多数情况下都可以工作。
对于其他情况,您应该降低会话超时限制。
于 2013-08-01T14:41:57.673 回答
5
取决于你想有多严格。
如果您需要“即时”注销,那么最简单的方法是使用 AJAX 每隔 30 秒到 1 分钟 ping 您的服务器,以保持会话处于活动状态。这将导致大量开销并增加服务器上的负载,但这是立即让某人离开的唯一可靠方法。
同样的原则将适用于更长的时期。比如说30分钟。您可以执行本主题中所说的操作并在 30 分钟后将某人注销,或者再次使用 AJAX每 10 到 15 分钟ping 服务器一次,并在用户在页面上时保持会话处于活动状态。
它可能没有更多的东西。
就像@thatidiotguy 说的那样,您可以实现窗口卸载事件来处理用户退出,但您必须非常小心——如果用户打开了 2 个浏览器窗口怎么办?如果他同时查看 2 个页面,您不想让他退出。
于 2013-08-01T14:47:58.337 回答