Cakephp aumentar el tiempo de session timeout

Cakephp aumentar el tiempo de session timeout

Problema, tus usuarios, los administradores o editores que tienen que hacer login a una sección de la web y después de un tiempo sin actividad, cakephp los desloguea automáticamente si la sesión no es esta refrescando. Esto es muy común y se hace por temas de seguridad. Pero digamos que hay secciones de la web o intranet donde se quiere que la session dure mucho más tiempo, a pesar de que el

cakephp puede almacenar las sessiones php en diferentes lugares.
Por defecto se guardan en el path que se indica desde php.ini definido en la directiva

session.save_path = "/var/lib/php/session"

/var/lib/php/session/ suele ser uno de los path por defecto donde se guardan las sesiones en el sistema.

Pues bien también hay una directiva que indica el tiempo de vida de la session definida también en el php.ini

session.gc_maxlifetime = 1440

Pero no es muy aconsejable cambiar esto cuando se tienen varias aplicaciones en un mismo servidor, de hecho si alguien tiene un servidor compartido ni podrá acceder al php.ini.

Pues bien, para alterar el tiempo de vida de la session en CakePHP lo que tenemos que hacer es modificar donde cake guarda las sessiones. Hay diferentes opciones. En el archivo config/core.php
Podemos setear cualquiera de las siguientes opciones

Configure::write('Session.save', 'php');
Configure::write('Session.save', 'cake');
Configure::write('Session.save', 'database');

La primera opción usará la configuración que viene definida en el php.ini y tampoco se podrá hacer mucho, salvo forzar algunos parámetros. Es la opcion que viene por defecto y lo que normalmente se utiliza.

La segunda opción guarda los archivos con las sesiones en app/tmp/sessions. Es con esta opción con la que podremos fácilmente aumentar o disminuir el tiempo de vida (TTL) de la session.

La última opcion guarda las sessiones en base de datos.

Para aumentar el tiempo de vida de la session utilizamos otro parámetro de configuración en cakephp

Configure::write('Session.timeout', '86400');

Donde especificamos que la sesión dure un día entero. Esto es aconsejable en intranet o partes de una web que no son accesibles a los usuarios o ataques. Para que administradores o editores puedan acceder a un panel de control hecho en cakephp y que su session dure más tiempo en caso de que estén inactivos.

De esta manera alteramos el modo en que se guardan las sessiones pero no tendremos que tocar nada en el php.ini y configuracion del lado del servidor.

Otra técnica que se puede hacer es guardar las sessiones en memcached. Pero eso lo explicaré mas adelante.

Tags de búsquedas:

alargar el tiempo de sesion php,incrementar session timeout,instruccion para usar session timeout en php,obtener el tiempo de session timeout,para session no expire en php,parametro tiempo de inactividad en sesiones php,php ini tiempo de sesion,php ini tiempo de session time,php sesion timeout poner tiempo,php sql disminuir el tiempo de inactividad para sesion de usuario,php tiempo de session,php tiempo inactividad,php tiempo sesion administrador,session timeout no esta definido,subir tiempo duracion de session php

Noticias relacionadas »

1 comentario en “Cakephp aumentar el tiempo de session timeout

  1. carlos
    / Responder

    hola solo tengo una consulta sobre ACL necesito hacer un registro de usuarios pero tener multiple tabla de roles es decir que los administradores definan sus roles

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Pedro (3 días)
    Buenos días Margherita El plugin está obsoleto y ya no…
  • Juan Carlos Díaz (4 días)
    Este grupo de Telegram me ha dado muy buenas señales…
  • Margherita (4 días)
    Hola, tengo un problema con el plugin. Tanto en la…
  • Pablo H (2 semanas)
    Hola Pedro, Muchas gracias por el post, me fue muy…
  • Pedro Ventura (3 semanas)
    Hola Margat Muchísimas gracias por tu comentario, me alegro de…
  • Pedro Ventura (3 semanas)
    Hola Rebeca, Tan sólo se permite 1 dominio por cuenta.…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Cadenas en JavaScript. Parte 1

Hace unas semanas que he recibo 2 libros de Javascript que me he comprado en Amazon y estoy empezando poco...

Cerrar