Cierre de sesión por inactividad en ScriptCase: módulo de seguridad
En todo sistema web siempre hay que tener en cuenta que no se puede dejar permanente la sesión de trabajo de nuestros sistemas, ya que se corre el riesgo que un tercero acceda y realice cambios no autorizados, robe información o inclusive realice transacciones que perjudiquen al usuario propietario.
Por esto es indispensable manejar el tiempo de la sesión inactiva en nuestros sistemas generados con Scriptcase, de lo cual te explicare como realizarlo a continuación.
Funciones PHP a utilizar
$_SESSION[] = Es un array asociativo que contiene variables de sesión disponibles para el script actual
time() = Devuelve el momento actual medido como el número de segundos desde la Época Unix (1 de Enero de 1970 00:00:00 GMT)
unset() = destruye las variables especificadas
isset() = Determina si una variable está definida y no es NULL
fuente: http://php.net/manual/es
Inicialmente ya tenemos que tener nuestro sistema finalizado con un menú y con el módulo de seguridad generado, ya que trabajaremos con las aplicaciones app_Login.php y menu.php
Declarando la sesión en app_Login.php
Evento: onValidateSuccess
Aquí creamos la variable de sesión global ‘nw’ (para este ejemplo en particular pero puedes llamarle como gustes) y le asignamos la hora actual con la función time() más 5 segundos, para el ejemplo. Este código debe de ir antes de la línea sc_redir(menu); al final del evento onValidateSuccess como se muestra en la siguiente imagen.
Nota: si quieres asignar minutos de inactividad que es lo normal, solo multiplicas la cantidad de minutos por 60 que es la cantidad de segundos por minuto.
(Ejemplo: 10 minutos * 60 segundos = 600 segundos)
menu.php
Evento: onExecute
En este evento es donde utilizamos la comprobación de inactividad de la variable de sesión global que hemos llamado [‘nw’] creada en app_Login, para luego evaluar si es menor que la hora actual y de ser así destruir dicha variable con la función de PHP unset()
Observa como en el siguiente video
También podría gustarte…