我在 Codeigniter 上编写了一个简单的身份验证过程,但是有一个问题。
出于某种原因,当用户浏览站点时,会话会被混淆并冒充另一个随机用户。
我只是简单地做:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('id', $account->id);
我通过
$logged_id = $this->session->userdata('id');
我将会话存储在数据库的 ci_sessions 表上
,并且配置文件包含默认值:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
什么可能会弄乱会话并从它们那里获得不同的 ID?