closures时销毁PHP会话

我创build了一个基于会话的简单login页面。

session_start(); 

并添加了一个包含这个的注销页面

 session_destroy(); 

现在,当我closures浏览器/页面并重新打开它时,会话的值仍然存在。

我想知道如何彻底销毁页面/浏览器closures的会话。

如果你使用:

 session_set_cookie_params(0); session_start(); 

当浏览器closures时,会话cookie将会被破坏,所以你的会话会很好,直到closures浏览器为止。 IE浏览器。 您login后,您已经login,closures浏览器,重新打开它,再次访问该网站,并且您不会login。

您将只能检测浏览器窗口是否已经使用JavaScriptclosures,在这一点上,您可能会触发Ajax请求来执行注销操作。

服务器无法检测到浏览器或选项卡closures,您可以使用JavaScript或Ajax,但对不起,我不知道这一点。

我的build议是使用会话超时,所以会话将被销毁,如果没有用户的行为。 这是一个例子:

 // destroy every 2 minutes if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 120)) { // last request was more than 2 minutes ago session_destroy(); // destroy session data in storage } $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp // end of code 

希望这对你有所帮助

删除会话variables – session_unset();

破坏session – session_destroy();

 session_unset(); session_destroy();