2.11 Seguridad
Para el manejo de las sesiones tenemos un abanico de funciones que nos facilitaran su uso. Todas la variables de sesión son accesibles mediante arrays en la variable global $_SESSION.
Como hemos comentado anteriormente las sesiones nos permiten conservar información de un usuarioy también podemos limitar el acceso a ciertas páginas y definir un tiempo de visualización o acceso al usuario en ciertos sitios. Muchas veces el usuario se despista y deja de prestarle atención a nuestra aplicación web, un ejemplo claro son las redes sociales, chats, casi todas las aplicaciones desarrolladas en PHP utilizan esta herramienta que nos permitirá gestionar mejor el flujo de accesos de los usuarios. Otro de los motivos de bastante peso para una buena práctica del uso de las sesiones es prevenir el secuestro o robo de sesión, en ingles llamado Session Hijacking, un atacante consigue el identificador de sesión entre una página web y un usuario, de forma que puede hacerse pasar por este y acceder a su cuenta en esa página web. Existen una gran cantidad de metodologías para el secuestro de sesión, voy a listar algunas de ellas:
ini_set('session.cookie_httponly', 1);
Definir un tiempo de vida a la variable de sesión de PHP. Después de dar algunas pautas contra los ataques más usuales de robo de las sesiones, otra buena práctica es definir un tiempo de vida a las sesiones para que un usuario logueado no se quede “dormido” con la sesión abierta. En nuestra aplicación tendrá un limite de tiempo y cuando se agote se redireccionará a una página web para su nuevo acceso a la plataforma y creación de una nueva sesión. Imagen16. Código ejemplo Podemos modificar las directrices de php.ini directamente en la ejecución. Puede ser otra forma de definir el tiempo bastante más cómoda que la anterior: ini_set(”session.gc_maxlifetime”, 120); Recuerda ponerlo antes de la instrucción “session_start()”. Revisa el pdf de SEGURIDAD para conocer los posibles ataques que puede sufrir un sitio web.
|