Estoy tratando de entender las cookies y las sesiones de manera profesional. Sé que cuando un navegador se conecta a un servidor, el servidor "le pide" al navegador que "pegue" una cookie con "phpsessid" en la carpeta de cookies del navegador del cliente.
Ahora que tenemos el "phpsessid", si el cliente ingresa al servidor, el navegador envía al servidor el "phpsessid" y el servidor echa un vistazo a la carpeta tmp y si tenemos una coincidencia, vuelve a cargar todos los datos que tiene el usuario. este cliente, pero estoy un poco confundido con el proceso.
Estaré agradecido si alguien puede ayudarme a comprender esos procesos de creación de una sesión y cookies, lo que está sucediendo detrás de escena.
javascript
php
session
cookies
Texto en blanco
fuente
fuente
Respuestas:
Repasemos esto:
Las cookies y las sesiones son ambas formas de preservar el estado de la aplicación entre las diferentes solicitudes que realiza el navegador. Es gracias a ellos que, por ejemplo, no necesita iniciar sesión cada vez que solicita una página en StackOverflow .
Galletas
Las cookies son pequeños bits de datos, (máximo de 4 KB de longitud), que contienen datos en pares clave = valor:
name=value; name2=value2
Estos se establecen mediante JavaScript o mediante el servidor mediante un encabezado HTTP .
Las cookies tienen una fecha de caducidad establecida, por ejemplo, usando encabezados HTTP:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
Lo que haría que el navegador estableciera una cookie denominada
name2
con un valor devalue2
, que caducaría en unos 9 años.Las cookies se consideran muy inseguras porque el usuario puede manipular fácilmente su contenido. Es por eso que siempre debe validar los datos de las cookies . No asuma que lo que obtiene de una cookie es necesariamente lo que espera.
Las cookies se utilizan generalmente para preservar el estado de inicio de sesión, donde un nombre de usuario y un hash especial se envían desde el navegador, y el servidor los compara con la base de datos para aprobar el acceso.
Las cookies también se utilizan a menudo en la creación de sesiones .
Sesiones
Las sesiones son ligeramente diferentes. Cada usuario obtiene un ID de sesión , que se envía de vuelta al servidor para su validación, ya sea por cookie o por variable GET .
Las sesiones suelen ser de corta duración, lo que las hace ideales para guardar un estado temporal entre aplicaciones. Las sesiones también caducan una vez que el usuario cierra el navegador.
Las sesiones se consideran más seguras que las cookies porque las propias variables se guardan en el servidor . Así es como funciona:
$_SESSION
superglobal.Si PHP no encuentra una coincidencia, iniciará una nueva sesión y repetirá los pasos del 1 al 7.
Puede almacenar información confidencial en una sesión porque se guarda en el servidor, pero tenga en cuenta que la identificación de la sesión aún puede ser robada si el usuario, digamos, inició sesión a través de una red WiFi insegura. (Un atacante puede olfatear las cookies y configurarlas como propias, no verá las variables en sí, pero el servidor identificará al atacante como el usuario).
Esa es la esencia. Puede obtener más información en el manual de PHP sobre ambos temas.
fuente
hello.php?sid=cbe709ac7bed98f7ecb89713
)