即时通讯在我的一个小测试端上销毁我的会话时遇到了麻烦。注销/销毁会话时出现的问题
我可以从我的code_login.php文件和header()登录到需要登录的其他页面。但是,当我退出时,即使我退出了,有时也可以返回该页面。
(在session_start()是我的所有网页的顶部)
这是我的登录代码:
$res = $db->query($sql);
$num = $res->num_rows;
if ($num == 1) {
$_SESSION['user'] = array(
'username' => $username;
);
}
这里是注销:
session_start();
$_SESSION = array();
session_destroy();
header('LOCATION: index.php?loggedOut');
这是顶我的页面需要登录
session_start();
if (isset($_SESSION['user'])) {
require some stuff;
} else {
header('LOCATION: index.php?loginNeeded');
}
但是有时候我仍然可以在登录后返回到登录页面。
这可能会带给你一些快乐 http://stackoverflow.com/questions/3948230/best-way-to-completely-destroy-a-session-even-if-the-br owss-is-not-closed – Matt