【问题标题】:Php session data is returning wrong valuePHP会话数据返回错误值
【发布时间】:2018-08-29 14:42:11
【问题描述】:

我有一个使用 code-igniter 框架在 php 7 中构建的应用程序,我的问题是会话数据,存储和检索会话数据工作正常,但偶尔当两个人近距离登录时,会话数据对于第一个用户,也为第二个用户检索,通过站点搜索,在这里看到类似的东西 (wrong data in PHP session),这表明它可能是一个缓存问题(我的站点使用 nginx 进行缓存),但没有提出具体的解决方案.任何建议或想法将不胜感激。

编辑:这是我的登录库中用于身份验证的部分

public function login_account($email,$password)
    {
       $db = "db";
       $data = array("login_mail" => sha1($email));
       $query_result = $this->CI->m_eauth->get_login_password($data,$db);

       $hash_password ="";

        foreach($query_result->result_array() as $value)
        {
         $hash_password = $value['hash_password'];
         $site_name = $value['hash_name'];
         $account_type = $value['account_type'];
         $site_match_id = $value['site_match_id'];
         $site_levels = $value['levels'];
         $site_roles = $value['roles'];
        }

        if(password_verify($password, $hash_password)){
            // Success!
            $session_data = array(
              "site_id"=>$site_match_id,
              "site_email"=>$email,
              "site_name"=>$site_name,
              "site_avatar"=>md5($email).".jpg",
              "site_type"=>$account_type,
              "site_levels"=>$site_levels,
              "site_roles"=>$site_roles
             );

            $this->CI->session->set_userdata($session_data);

              return "successful";
        }
        else{
            // Invalid credentials
            return "unsuccessful";
        }
    }

让我补充一点,登录工作正常,个别会话工作正常。但是我描述的问题时不时会发生,而且我很困惑,因为我不知道去哪里找。

【问题讨论】:

  • 您能出示您的登录代码吗?

标签: php codeigniter session caching server


【解决方案1】:

没有真正的方法来粉饰这一点,会话不是 PHP 的一些神奇部分,您只需调用 session_start() 就可以开始您的一天。如果您的应用程序泄漏会话,则说明您没有正确保护它,您需要修复它。

鉴于被劫持的会话基本上使攻击者可以完全访问其他人的帐户,因此会话安全性非常重要。

我建议您阅读官方 PHP session docs 并考虑实施 Nginx userid module 作为识别用户的附加措施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 2013-10-03
    • 2015-10-11
    • 2011-12-13
    • 2017-06-07
    • 1970-01-01
    相关资源
    最近更新 更多