我在我的网站上使用连接到MySQL数据库的Codeigniter会话库 . 我有自己的库,它与创建的会话一起工作以进行登录检查 .
基本上,当我登录i存储我登录时,在会话cookie的userdata中 . (然后有其他检查有某种安全性)
$this->session->set_userdata('logged_in','1');
现在,只要会话ID被刷新(标准300秒),我的所有用户数据都会消失 . 我在数据库中购物,会话ID没有得到更新,只是创建了一个新的 .
我正在使用Codeigniter 3.0,我不确定那些应该是那样的 .
编辑:
我的config.php(会话东西)
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
Cookies 的东西
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
基本上发生的事情是以下事情:
我得到了ID为123的Session . 我将userdata logged_in = 1分配给会话 . 全部保存在DB中 . 5分钟后 . (或配置文件中定义的时间)
$config['sess_time_to_update'] = 300;
我在浏览器中进入了一个没有userdata的id为137的新会话 . 具有userdata logged_ind = 1的会话123与新创建的会话137一起仍在数据库中 .
因此,不是更新“sess_time_to_update”,而是更多地创建新会话 .
1 回答
您的会话将持续到期,请更改以下设置:
从:
至: