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();