Introducción a Session

En este artículos vamos a realizar una introducción completa a session en PHP: una de las formas de guardar información en la web. Este artículo forma parte de la serie Session, Cookie y Storage: tecnologías que permiten a los sitios web recordar preferencias del usuario, el estado de la sesión o datos importantes mientras navegas.

En el desarrollo web y especialmente en PHP, las sesiones (session) son un mecanismo que permite almacenar información temporal sobre un usuario mientras navega por un sitio web. A diferencia de las cookies, en PHP los datos de sesión no se almacenan en el navegador del usuario (aunque el identificador de sesión sí pueda guardarse en una cookie) y suelen mantenerse en el servidor, ofreciendo más seguridad y control. Las sesiones en PHP son especialmente útiles para login de usuarios, niveles de acceso y mantener datos temporales sin exponerlos directamente en el cliente.

Sesiones en PHP

En esta introducción a session con PHP, aprenderemos que las sesiones son una herramienta fundamental para mantener información entre distintas páginas. Cada usuario obtiene un ID de sesión único (generado automáticamente), y los datos se almacenan en el servidor. Esto lo convierte en un proceso bastante seguro.

Introducción a Session

Para iniciar una sesión en PHP es muy importante que todas las páginas declaren el session_start(); Esta instrucción tiene que ir antes de enviar cualquier salida al navegador (espacios, texto, HTML, etc.). En caso contrario, lanza el famoso error de “headers already sent” .

<?php
  // Iniciar la sesión
  session_start();

  // Datos por defecto de una sesión
  $_SESSION['backGroundColor'] = 'Green';
  $_SESSION['Idioma'] = 'es';
?>

Una vez declarada la sesión con session_start(); dispondremos de la variable global $_SESSION, la cual es un array asociativo donde podemos guardar cualquier tipo de información del usuario. Esta información está disponible mientras el navegador esté abierto o hasta que el servidor la elimine según su configuración.

Comprobar acceso y niveles

Como vemos en esta introducción a session, en PHP las sesiones son extremadamente útiles para el login de usuarios y mantener su identificación a lo largo de la navegación por la web. Una vez identificado un Administrador, podemos darle acceso a datos privilegiados con un simple condicional y mientras dure la sesión.

<?php
  session_start();

  if($_POST['User'] == 'Juan' && $_POST['Password'] == 'Admin') {
    echo "Bienvenido, administrador ";
    $_SESSION['Level'] = 'Admin';
  } else {
    echo "Acceso denegado";
  }
  if ($_SESSION['Level'] == 'Admin') {
    // Datos que sólo verá el Admin
  }
?>

IMPORTANTE: Esto es sólo un ejemplo explicativo simple que está expuesto a grandes riesgos de seguridad. La implementación de un Login de usuario requiere técnicas más seguras como filtro de variables y encriptación de contraseñas.

Destruir una sesión

Aunque la sesión suele destruirse automáticamente al cerrar el navegador, debemos permitir a los usuarios «Desconectarse» y para ello debemos destruir nosotros la sesión con estas instrucciones.

<?php
  session_start();
  session_unset();
  session_destroy();
?>

Este proceso es útil para logout de usuarios o limpiar datos temporales.

  • session_unset(): Limpia la variable de $_SESSION
  • session_destroy(): Destruye la sesión

Introducción a Session

En esta introducción a session en PHP, hemos visto que se trata de una herramienta esencial para mantener la información del usuario entre distintas páginas de una aplicación web. Gracias a las sesiones, podemos guardar datos como preferencias, configuraciones o incluso la identidad de un usuario autenticado, sin necesidad de pasarlos manualmente en cada petición. Su funcionamiento se basa en un identificador único que PHP asigna a cada sesión, vinculando al usuario con los datos almacenados en el servidor.

Además, las sesiones resultan especialmente útiles en la gestión de logins y niveles de acceso, ya que nos permiten mantener a un usuario identificado durante toda su navegación. Por supuesto, es importante recordar que, aunque PHP simplifica mucho su uso, debemos aplicar buenas prácticas de seguridad en el manejo de contraseñas y variables de sesión. Con esta introducción a session, y mediante un correcto inicio y cierre de sesión, podremos lograr un control robusto y eficiente sobre la interacción de los usuarios en nuestra web.

¡ Espero que este artículo sea de vuestro interés !

Deja un comentario