Интересно, как работает сессия в CodeIgniter. Разве сеанс не считается автоматически отключенным при закрытии браузера? CodeIgniter не разрушает сеанс в браузере по умолчанию:
$config['sess_expire_on_close'] = FALSE;
Вместо этого мы можем установить время истечения сеанса:
$config['sess_expiration'] = 7200;
Теперь, например, если я установил время истечения в 0, он будет поддерживать сеанс до тех пор, пока я сам не уничтожу:
$this->session->sess_destroy();
Итак, как CodeIgniter хранит информацию о сеансе в определенное время, даже после закрытия браузера?
Кроме того, безопасно ли использовать этот параметр по умолчанию (не истекающий сеанс с закрытием браузера), чтобы поддерживать логин пользователя в течение нескольких дней? (например, хранить в сеансе 'logged_in' => TRUE
)
Сеанс в CodeIgniter не использует PHP $_SESSION
по умолчанию. Он использует собственную реализацию с куки-файлами. Вот почему он не уничтожается при закрытии браузера. Вы также можете использовать сеанс с базой данных в CodeIgniter с опцией $config['sess_use_database'] = TRUE;
и другие вещи, которые вы найдете здесь: http://codeigniter.com/user_guide/libraries/sessions.html