jueves, 11 de junio de 2020

Sesiones en PHP

El manual PHP indica sobre el soporte de las sesiones en PHP: "El soporte para sesiones en PHP consiste en una manera de preservar ciertos datos a través de accesos posteriores, lo que permite crear aplicaciones más personalizadas y mejorar el atractivo de un sitio web."


Crear sesiones

Para mantener seguridad al inicio de sesión, por ejemplo. Se opta por el uso de sesiones, ya que estos valores son almacenados en el servidor y no la computadora del usuario.

Para crear una sesión:
  1. <?php
  2. # Iniciar sesión
  3. session_start();
  4. # Declarar los identificadores de sesión y sus valores
  5. $_SESSION["sesion"]="hola";
  6. $_SESSION["valor"]=12;
  7. ?>

$_SESSION (y todas las variables registradas) son serializadas internamente por PHP.

Operaciones con sesiones
  1. <?php
  2. # Iniciar sesión
  3. session_start();
  4. # Crear sesión
  5. $_SESSION["valor"]=12;
  6. # Ver el valor de una sesión
  7. echo $_SESSION["valor"];
  8. # Actualizar el valor de una sesión
  9. $_SESSION["valor"]=100;
  10. # Cerrar sesión
  11. unset ( $_SESSION["valor"] ); //Liberar memoria
  12. session_destroy(); //Cerra la sesión propiamente dicha
  13. ?>

Usos de las sesiones

"PHP permite el uso de sesiones, valores que podemos usar para autentificar a un usuario, debe ser una medida adicional al encriptado en la base de datos para iniciar sesión"


SESIÓN PARA INICIO DE SESIÓN

  1. <?php
  2. /* Colocar dentro del método de autentificación de usuario */
  3. if (validar()=true){
  4. # Creamos una sesión
  5. session_star();
  6. # Creamos una clave
  7. $_SESSION[ "acceso" ]="E14007a";
  8. # Enviamos a la página de inicio
  9. header ("location: inicio.php");
  10. } else {
  11. # Creamos una sesión para evitar conflicto al cerrar la sesión
  12. session_star();
  13. # Destruimos la sesión
  14. session_destroy();
  15. # Lo retornamos a la página de login
  16. header ("location: login.php");
  17. }
  18. ?>


VALIDAR EL INICIO DE SESIÓN

  1. <?php
  2. # Iniciamos sesión
  3. session_start();
  4. # si la sesion es diferente a la iniciada
  5. if($_SESSION[ "acceso" ] != "E14007a";){
  6. # Destruimos la sesión
  7. session_destroy();
  8. # Lo retornamos a la página de login
  9. header ("location: login.php");
  10. }
  11. ?>
  12. <!-- CÓDIGO HTML -->

No hay comentarios:

Publicar un comentario