Anuncios

En este tutorial vamos a aprender cómo almacenar ciertos datos en el servidor de forma temporal el uso de sesiones de PHP.

Qué es una sesión

aunque puede almacenar datos mediante cookies pero tiene algunos problemas de seguridad. Dado que las cookies se almacenan en la computadora del Usuario, es posible que un atacante modifique fácilmente el contenido de una cookie para insertar datos potencialmente dañinos en su aplicación que podrían romper su aplicación.,

Además, cada vez que el navegador solicita una URL al servidor, todos los datos de cookies de un sitio web se envían automáticamente al servidor dentro de la solicitud. Significa que si ha almacenado 5 cookies en el sistema del usuario, cada una con un tamaño de 4 Kb, el navegador debe cargar 20 KB de datos cada vez que el usuario ve una página, lo que puede afectar el rendimiento de su sitio.

Puede resolver ambos problemas usando la sesión PHP. Una sesión PHP almacena datos en el servidor en lugar del ordenador del usuario., En un entorno basado en sesión, cada usuario se identifica a través de un número único llamado identificador de sesión o SID. Este ID de sesión único se utiliza para vincular a cada usuario con su propia información en el servidor, como correos electrónicos, publicaciones, etc.

Consejo: los ID de sesión son generados aleatoriamente por el motor PHP que es casi imposible de adivinar. Además, debido a que los datos de sesión se almacenan en el servidor, no tienen que enviarse con cada solicitud del navegador.,

iniciar una sesión PHP

antes de poder almacenar cualquier información en las variables de sesión, primero debe iniciar la sesión. Para comenzar una nueva sesión, simplemente llame a la función PHP session_start(). Creará una nueva sesión y generará un ID de sesión único para el usuario.

el código PHP en el siguiente ejemplo simplemente inicia una nueva sesión.,

Ejemplo

Descargar

<?php// Starting sessionsession_start();?>

El session_start() función comprueba primero si ya existe una sesión buscando la presencia de un IDENTIFICADOR de sesión. Si encuentra una, es decir, si la sesión ya se ha iniciado, configura las variables de sesión y si no lo hace, inicia una nueva sesión creando un nuevo ID de sesión.

nota: debe llamar a la función session_start() al principio de la página, es decir., antes de cualquier salida generada por su script en el navegador, al igual que lo hace al configurar las cookies con la función setcookie().

almacenar y acceder a los datos de sesión

Puede almacenar todos sus datos de sesión como pares clave-valor en el array superglobal$_SESSION. Se puede acceder a los datos almacenados durante la duración de una sesión. Considere el siguiente script, que crea una nueva sesión y registra dos variables de sesión.,

para acceder a los datos de sesión que configuramos en nuestro ejemplo anterior desde cualquier otra página del mismo dominio web, simplemente vuelva a crear la sesión llamando a session_start() y luego pase la clave correspondiente a la matriz asociativa $_SESSION.

El código PHP en el ejemplo anterior produce la siguiente salida.

Hola, Peter Parker

Nota: para acceder A los datos de la sesión en la misma página no hay ninguna necesidad de volver a crear la sesión, ya que ha sido ya iniciada en la parte superior de la página.,

destruir una sesión

Si desea eliminar ciertos datos de sesión, simplemente desactive la clave correspondiente de la matriz asociativa$_SESSION, como se muestra en el siguiente ejemplo:

Sin embargo, para destruir una sesión por completo, Simplemente llame a la funciónsession_destroy(). Esta función no necesita ningún argumento y una sola llamada destruye todos los datos de la sesión.,

Ejemplo

Descargar

<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>

Nota: Antes de destruir una sesión con el session_destroy() función, primero es necesario recrear el entorno de sesión si no está ya allí el uso de la etiqueta session_start() función, por lo que hay algo para destruir.

cada sesión de PHP tiene un valor de tiempo de espera-una duración, medida en segundos-que determina cuánto tiempo una sesión debe permanecer viva en ausencia de cualquier actividad del usuario., Puede ajustar esta duración de tiempo de espera cambiando el valor de session.gc_maxlifetime variable en el archivo de configuración de PHP (php.ini).

Anuncios

Deja una respuesta

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