1

我用一个简单的会话来创建一个登录系统,

<?php
    session_start();
    $_SESSION['username'] = $username;
?>

这只是代码的一部分,但它是生成我的会话的原因,到目前为止它工作正常,问题是这个会话不会以浏览器关闭结束,我尝试登录关闭浏览器,但是当我访问网站再次我发现我仍然登录,注销的唯一方法是使用注销系统,我想要的是在浏览器关闭时自动关闭会话,提前谢谢

4

1 回答 1

3

简单的答案:你不能。会话存在于服务器上,浏览器存在于客户端机器上。浏览器在关闭时不会通知服务器。在许多情况下(例如:计算机故障或网络断开连接),即使浏览器愿意,也无法通知您的服务器。

复杂答案:您可以设置一个非常短的会话超时时间(即:5 分钟)并在每次用户 ping 服务器时更新它,但是如果他们离开键盘的时间超过了您的超时时间,这将使人们注销.

于 2012-07-26T21:46:43.943 回答