Как CodeIgniter хранит данные сеанса, даже когда браузер закрывается? - PullRequest
4 голосов
/ 15 июля 2011

Интересно, как работает сессия в CodeIgniter. Разве сеанс не должен автоматически уничтожаться при закрытии браузера? CodeIgniter по умолчанию не уничтожает сеанс в браузере:

$config['sess_expire_on_close'] = FALSE;

Вместо этого мы можем установить время истечения сеанса:

$config['sess_expiration']      = 7200;

Теперь, например, если я установлю время истечения на 0, сеанс будет продолжаться до тех пор, пока я сам не уничтожу:

$this->session->sess_destroy();

Так как же CodeIgniter сохраняет информацию о сеансе в течение определенного времени, даже после закрытия браузера?

Кроме того, безопасно ли использовать эту настройку по умолчанию (не заканчивая сеанс с закрытием браузера), чтобы сохранить логин пользователя в течение нескольких дней? (например, хранить в сеансе 'logged_in' => TRUE)

1 Ответ

3 голосов
/ 15 июля 2011

Сеанс в CodeIgniter не использует PHP по умолчанию $_SESSION. Он использует свою собственную реализацию с куки. Вот почему он не разрушается при закрытии браузера. Вы также можете использовать сеанс с базой данных в CodeIgniter с параметром $config['sess_use_database'] = TRUE; и другими вещами, которые вы найдете здесь: http://codeigniter.com/user_guide/libraries/sessions.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...