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
y como hago para que nunca expire?
Hola Cristian,
ha actualizado el post resolviendo tu duda. Es asignando el valor 0 a sess_expiration. Pero ves con cuidado con el tema de sesiones que no expiran nunca. Yo nunca lo he probado. Siempre he puesto un tiempo límite.
Saludos
Hola, cómo configuro que después de 5 minutos de inactividad se expire la sesión.
Cambiaríamos el 14400 del ejemplo por 300. (5 minutos x 60 segundos= 300 segundos)