【发布时间】: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