【问题标题】:PHP - session is not being destroyed in ChromiumPHP - 会话没有在 Chromium 中被破坏
【发布时间】:2017-04-04 07:03:27
【问题描述】:

我的 Chromium 遇到了非常奇怪的问题。 有:

1) 检查用户名/密码的简单登录,如果一切正确,它会设置会话变量并重定向用户:

    if(md5($_POST['password'])==$password) {
         $_SESSION['username']="admin";
         header('Location: index2.php');
    } else {
        echo "Wrong username or password!";
    }

2) 每个页面顶部的简单会话检查

    session_start();
    if($_SESSION['username']!="admin")
        header('Location: index.php');

3) 注销:

   session_start();

   $_SESSION['username']="";
   unset($_SESSION['username']);

   session_destroy();

   header('Refresh: 2; URL = index.php');
   echo 'Thank you for logging out';

它在 Firefox 上运行良好。如果我在注销后重新启动浏览器,它甚至可以在 Chromium 上正常工作。但是,如果我保持窗口打开,我仍然可以访问所有文档,因为它说 $_SESSION['username'] 尚未在 logout.php 中取消设置! 这看起来像是某种缓存,但在会话方面应该没有缓存,不是吗?

请指教。

【问题讨论】:

    标签: php session


    【解决方案1】:

    也尝试添加session_unset()

    session_unset() 函数当前释放所有会话变量 已注册。

    <?php
    session_start();
    
    // remove all session variables
    session_unset(); 
    
    // destroy the session 
    session_destroy();
    
    //redirect user
    header("Location:index.php");
    

    【讨论】:

    • 不,很遗憾没有帮助((
    猜你喜欢
    • 2011-09-19
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    相关资源
    最近更新 更多