用户登录会话状态只有= true才会离开网站

时间:2012-03-19 12:31:48

标签: php session login

当用户成功登录网站时,该事件会创建一个名为“loggedin”的会话并将其设置为true。

if (criteria satisfied){
    $_SESSION['loggedin'] = true;}
else { ... }

如果用户退出网站,该会话如何过期?

退出网站意味着直接离开网站。无论是关闭选项卡,浏览器还是访问其他网站,都意味着用户离开网站的任何实例。

在提出这个问题之前我已经检查了其他问题,但似乎没有人直接回答这个问题,似乎都处理了与每个提问者相关的独特实例。

2 个答案:

答案 0 :(得分:3)

尝试放:

session.cookie_lifetime = 0; 
在php.ini中

。如果用户退出您的网站,这将删除会话cookie(通过关闭浏览器,例如,如果她关闭计算机)。请参阅session.cookie_lifetime

答案 1 :(得分:0)

客户端的会话只是一个包含会话ID#的cookie。

您可以将Cookie的过期时间设置得非常小,但如果有人在页面上空闲,则会话可能会过期。您可以使用META刷新在所有页面(母版页/主模板)上放置一个隐藏的IFRAME,以刷新会话cookie过期。

您还可以尝试使用onUnload JavaScript事件对LogOut页面进行Ajax调用,这可能会放弃会话并清除cookie。