No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Trabajando con cookies

4/22
Recursos

Aportes 8

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Me parece que el httponly lo explicaste al reves, true quiere decir que no lo pueden leer desde javascript. Y false si los deja leer. O al menos eso dice la doc de php.

Parámetros que admite el método setcookie():

  • name:
  • value:
  • expires_or_options:
  • path:
  • domain:
  • secure:
  • httponly:

Ya que estamos trabajando con las cookies, quiero compartirles unos apuntes (buenas practicas) sobre seguridad (para prevenir los ataques XSS):
.

  • -Si las usas no poner datos sensibles (solamente usarse preferencias de usuario, ejemplo: modo dia, modo noche )
  • Siempre poner fecha de expiracion
  • Siempre poner el dominio y el path
  • Usar solamente en HTTPS
    .
Es mejor usar sessiones del lado del servidor que cookies del lado del cliente.

.

Otras recomendaciones, para tener en cuenta (de manera informativa, porque no es el scope del curso) pero es la forma profesional de lidiar con las cookies:
.

  • Encriptar los datos que van en la cookie
  • Ademas de la encritacion firmarlas, usando hash.

soy tu fan :3

La parte de httponly está al revés

(Documentación oficial)
httponly
Cuando es true la cookie será accesible sólo a través del protocolo HTTP. Esto significa que la cookie no será accesible por lenguajes de scripting, como JavaScript. Se ha indicado que esta configuración ayuda efectivamente a reducir el robo de identidad a través de ataques XSS (aunque no es soportada por todos los navegadores). pero esa afirmación se disputa a menudo. Agregado en PHP 5.2.0. Puede ser true o false

Lástima que no revisen el contenido antes de subirlo

Los parámetros que se están usando en la función setcookie() son los siguientes:

  • name: El nombre de la cookie, en este caso “example”.
  • value: El valor de la cookie, en este caso “Michi_salvaje”.
  • expires_or_options: La fecha de expiración de la cookie expresada en formato Unix timestamp. En este caso se ha establecido en 0, lo que significa que la cookie expirará al finalizar la sesión.
  • path: La ruta dentro del servidor a la que la cookie está disponible. En este caso se ha establecido en “/” lo que significa que la cookie está disponible en todo el sitio.
  • domain: El dominio para el que la cookie está disponible. En este caso se ha establecido en “localhost”.
  • secure: Un valor booleano que indica si la cookie sólo está disponible en conexiones seguras (https). En este caso se ha establecido en false.
  • httponly: Un valor booleano que indica si la cookie puede ser accedida por el frontend con js
<?php

setcookie(
    name: "example_cookie",
    value: "Michi salvaje",
    expires_or_options: time() + 60 *60 * 24, // 0 La cookie estara viva mientas la sesion, time() en tiempo inmediato
    path : "/configuracion", // url en la que estara disponible la cookie, si se deja solo / la cookie estara disponible ew
    domain: "localhost", // dominio en el que estará disponible
    secure: false, //la cookie podra definirse solo si el dominio tiene ssl
    httponly: true // puede ser accedida desde Front, en flase estara disponible solo en server side
);

?>

RetaxMaster se ha equivocado al explicar httponly, según La documentación de setcookie si es true “será accesible por lenguajes de scripting, como JavaScript”