我想知道会话在CodeIgniter中是如何工作的。当浏览器关闭时,会话是否被假设为自动被破坏?默认情况下,CodeIgniter不会在浏览器关闭时销毁会话:
$config['sess_expire_on_close'] = FALSE;
相反,我们可以设置会话过期时间:
$config['sess_expiration'] = 7200;
现在,例如,如果我将过期时间设置为0,只要我不自行销毁就会保持会话:
$this->session->sess_destroy();
那么CodeIgniter如何在特定时间内保存会话信息,即使在浏览器关闭后也是如此?
此外,如果使用此默认设置(不会使浏览器关闭会话到期)以保持用户登录几天,是否安全? (例如,在会话中存储'logged_in' => TRUE
)
答案 0 :(得分:3)
CodeIgniter中的会话不使用默认的PHP $_SESSION
。它使用自己的cookie实现。这就是为什么当你关闭浏览器时它不会被破坏的原因。您还可以在CodeIgniter中使用带有数据库的会话,并使用选项$config['sess_use_database'] = TRUE;
以及其他内容:http://codeigniter.com/user_guide/libraries/sessions.html