CodeIgniter – Tiempo expiración de las sesiones

Este es uno de esos artículo breves y que no tienes en cuenta, hasta que surge el problema. Haces la aplicación con Codeigniter, trabajas con sesiones y resulta que te olvidas que pueden tener un un tiempo de vida, o lo que es lo mismo, ua fecha de expiración. Empecemos con CodeIgniter – Tiempo expiración de las sesiones

Lo que a priori puede ser algo meramente anecdótico, puede complicarte la vida si estamos hablando de loginación en la aplicación o almacenamiento necesaria para la navegación. Hay que limitar el tiempo de vida de una sesión por seguridad.

En Codeigniter ha dos opciones:

Codeigniter expiración sesión en código

La primera de las opciones es utilizando la librerías de sesiones que posee CodeIgniter de la siguiente manera. Recuerda cargar la librería para poder usarla.

$data = array(
'usuario' => $this->input->post('usuario'),
'USUARIO_loguinado' => true
);

$this->session->sess_expiration = 14400; // Segundos expiración
$this->session->set_userdata($data);   // Creamos la sesión

Codeigniter expiración sesión en fichero configuración

El segundo método es modificando el fichero config.php de CodeIgniter. Par ello debemos buscar la línea:

$config['sess_expiration'] = 14400;  // Tiempo en segundo de expiración

La segunda opción se aplicará por defecto a todas las sesiones.

Espero que hayáis encontrado interesante el artículo. A continuación encontraréis enlaces que os pueden ayudar a aclarar algunas dudas o complementar toda la información sobre sesiones en CodeIgniter.

CodeIgniter sesión nunca expire

Que una sesión nunca expire, lo veo un poco peligroso, pero bueno. La manera de hacer que la sesión en CodeIgniter no expire nunca, es asignándole el valor 0 a sess_expiration.

$config['sess_expiration'] = 0;  // La sesión nunca expira


Más información