sesiones - tiempo en cookies php




Cookies vs. sesiones (7)

Como dijeron otros, las sesiones son inteligentes y tienen más ventajas de ocultar la información del cliente.

Pero Cookie todavía tiene al menos una ventaja , puede acceder a sus Cookies desde Javascript (por ejemplo, ngCookies ). Con la sesión de PHP no puede acceder a ella en ningún lugar fuera del script de PHP.

Empecé a usar PHP hace un par de meses. Con el objetivo de crear un sistema de inicio de sesión para mi sitio web, leo sobre las cookies y las sesiones y sus diferencias (las cookies se almacenan en el navegador del usuario y las sesiones en el servidor). En ese momento, prefería las cookies (y ¿a quién no le gustan las cookies ?!) y solo decía: "¿A quién le importa? No tengo nada bueno para almacenarlo en mi servidor", así que seguí usando las cookies para mi proyecto de graduación de bachiller Sin embargo, después de hacer la mayor parte de mi aplicación, escuché que para el caso particular de almacenar la identificación del usuario, las sesiones son más apropiadas. Entonces comencé a pensar qué diría si el jurado me pregunta por qué ha usado cookies en lugar de sesiones. Solo tengo esa razón (que no necesito almacenar internamente información sobre el usuario). ¿Es eso suficiente como una razón ? o es mas que eso?
¿Podría decirme acerca de las ventajas / desventajas de usar cookies para mantener la ID del usuario?

¡Gracias por todos ustedes en StackOverflow!


El concepto es almacenar datos persistentes entre cargas de página para un visitante web. Las cookies lo almacenan directamente en el cliente. Las sesiones usan una cookie como una especie de clave, para asociar con los datos que se almacenan en el lado del servidor.

Se prefiere utilizar sesiones porque los valores reales están ocultos para el cliente y usted controla cuándo expiran los datos y se vuelve inválido. Si todo estuviera basado en cookies, un usuario (o hacker) podría manipular sus datos de cookies y luego reproducir las solicitudes en su sitio.

Editar: no creo que haya ninguna ventaja al usar cookies, aparte de la simplicidad. Mírelo de esta manera ... ¿El usuario tiene algún motivo para saber su número de identificación? Normalmente, diría que no, el usuario no necesita esta información. Repartir información debe estar limitada por la necesidad de conocerla. ¿Qué sucede si el usuario cambia su cookie para tener una identificación diferente, cómo responderá su aplicación? Es un riesgo de seguridad.

Antes de que las sesiones fueran furor, básicamente tenía mi propia implementación. Almacé un valor de cookie único en el cliente y almacené mis datos persistentes en la base de datos junto con ese valor de cookie. Luego, en las solicitudes de página, hice coincidir esos valores y obtuve mis datos persistentes sin permitir que el cliente controlara lo que era.


Ideas básicas para distinguir entre esos dos.

Sesión:

  1. IDU se almacena en el servidor (es decir, en el servidor)
  2. Más seguro (debido a 1)
  3. No se puede establecer la caducidad, las variables de sesión expirarán cuando los usuarios cierren el navegador. (hoy en día se almacena por 24 minutos como predeterminado en php)

Galletas:

  1. IDU se almacena en el navegador web (es decir, en el lado del cliente)
  2. No es muy seguro, ya que los hackers pueden alcanzar y obtener su información (debido a 1)
  3. La expiración se puede establecer (ver setcookies() para más información)

La sesión es preferida cuando necesita almacenar información / valores a corto plazo, como variables para calcular, medir, consultar, etc.

Se prefieren las cookies cuando necesita almacenar información / valores a largo plazo, como la cuenta del usuario (de modo que incluso cuando cierren la computadora durante 2 días, su cuenta aún esté conectada). No puedo pensar en muchos ejemplos para las cookies, ya que no se adopta en la mayoría de las situaciones.


Las sesiones le permiten almacenar datos individuales al igual que con las cookies, pero los datos se almacenan en el servidor en lugar del cliente.


Session y Cookie no son lo mismo.

Una sesión se usa para almacenar la información de las páginas web. Normalmente, las páginas web no tienen ningún recuerdo para almacenar esta información. Pero usando podemos guardar la información necesaria.

Pero Cookie se usa para identificar a los usuarios. Usando cookies podemos almacenar los datos. Es una pequeña parte de los datos que se almacenarán en el navegador web del usuario. Por lo tanto, cada vez que el usuario explore la próxima vez, envíe de vuelta la información de datos de la cookie al servidor para obtener las actividades anteriores.

Créditos: Sesión y Cookie


Yo personalmente uso ambas cookies y sesión.

Las cookies solo se utilizan cuando el usuario hace clic en la casilla "Recordarme" . y también las cookies se cifran y los datos solo se descifran en el servidor. Si alguien intenta editar las cookies nuestro descifrador puede detectarlo y rechazar la solicitud.

He visto tantos sitios donde la información de inicio de sesión se almacena en las cookies , cualquiera puede simplemente cambiar la identificación del usuario y el nombre de usuario en las cookies para acceder a cualquier cuenta.

Gracias,


SESSIONS ENDS WHEN USER CLOSE HIS BROWSER,

COOKIES ENDS DEPENDING ON THE LIFE TIME YOU SET FOR IT. SO IT CAN LAST FOR YEARS

Esta es la principal diferencia. en tu elección,

Si desea que el idu sea recordado por mucho tiempo, entonces necesita usar cookies, de lo contrario, si solo desea que el sitio web reconozca al usuario para esta visita, solo entonces las sesiones son su hombre.

Espero eso ayude :)

-- explicación adicional.

Las sesiones se almacenan en un archivo que su servidor php generará, y para recordar qué archivo es para cada usuario, php también establecerá una cookie en el navegador del usuario que hojee el ID de este archivo de sesión, por lo que en su próxima visita php leerá este archivo y lo volverá a cargar sesión.

ahora php por defecto borra las sesiones en cada intervalo, y también el nombre de la convención de la sesión hace que caduque automáticamente. Además, los navegadores no mantendrán cookies que contengan la identificación de la sesión una vez cerrada / sin historial.

es importante notar que los navegadores actuales también admiten otro tipo de motores de almacenamiento que son:

LocalStorage, SessionStorage y otros motores webdb que el código de JavaScript puede usar para guardar datos en su computadora para recordarlo. simplemente abra la consola de JavaScript dentro de Facebook y escriba "localStorage" enter. le mostrará todas las variables que use para recordarlo sin cookies.







cookies