注销后,会话变量仍然存在

时间:2010-05-19 14:59:07

标签: php session

我有问题,会解释如何重现问题:

1-登录我的页面(sesion变量设置为$ _SESSION ['logged'] = true和$ _SESSION ['id'] = 123

2 - 然后在主菜单中单击注销选项,代码如下

function logout()
{
    session_start();
    $_SESSION['id'] = null;
    $_SESSION['logged'] = null;

    unset($_SESSION);

    session_destroy();

    require_once('Views/SessionExpiredView.php');   
}

3-在会话过期视图中,我显示了登录页面的链接,其中会话为空

4-我单击浏览器并单击“确定”以重新发送信息

5-会话再次成为$ _SESSION ['logged'] = true和$ _SESSION ['id'] = 123并且我再次进行了记录并且能够看到与id 123相关的所有信息

这是一个安全问题,我不知道发生了什么!!!

任何建议都将深表感谢。

亚历杭德拉

2 个答案:

答案 0 :(得分:3)

4 - 您单击后退并单击“重新发送信息” - 这意味着您重新发送了以前的POST信息(显然是登录信息和密码) - 所以没有什么不寻常之处。 提示:在

中记录用户后进行重定向

答案 1 :(得分:0)

您的第4步是问题,您单击确定以重新发送信息,这实际上是您从步骤1获取的登录信息。

您刚刚登录...