Yii - Galletas

Las cookies son archivos de texto sin formato almacenados en el lado del cliente. Puede utilizarlos con fines de seguimiento.

Hay tres pasos para identificar a un usuario recurrente:

  • El servidor envía un conjunto de cookies al cliente (navegador). Por ejemplo, id o token.

  • El navegador lo almacena.

  • La próxima vez que un navegador envía una solicitud al servidor web, también envía esas cookies, para que el servidor pueda usar esa información para identificar al usuario.

Las cookies generalmente se establecen en un encabezado HTTP como se muestra en el siguiente código.

HTTP/1.1 200 OK
Date: Fri, 05 Feb 2015 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name = myname; expires = Monday, 06-Feb-16 22:03:38 GMT;
   path = /; domain = tutorialspoint.com 
Connection: close
Content-Type: text/html

PHP proporciona la setcookie() función para configurar cookies -

setcookie(name, value, expire, path, domain, security);

donde -

  • name - Establece el nombre de la cookie y se almacena en una variable de entorno llamada HTTP_COOKIE_VARS.

  • value - Establece el valor de la variable nombrada.

  • expiry - Especifica un tiempo futuro en segundos desde las 00:00:00 GMT del 1 de enero de 1970. Después de este tiempo, la cookie se volverá inaccesible.

  • path : Especifica los directorios para los que la cookie es válida.

  • domain- Esto se puede utilizar para definir el nombre de dominio en dominios muy grandes. Todas las cookies solo son válidas para el host y el dominio que las creó.

  • security - Si se establece en, significa que la cookie solo debe enviarse mediante HTTPS; de lo contrario, cuando se establece en 0, la cookie se puede enviar mediante HTTP normal.

Para acceder a las cookies en PHP, puede utilizar el $_COOKIE or $HTTP_COOKIE_VARS variables.

<?php 
   echo $_COOKIE["token"]. "<br />"; 
   /* is equivalent to */ 
   echo $HTTP_COOKIE_VARS["token"]. "<br />"; 
   echo $_COOKIE["id"] . "<br />"; 
   /* is equivalent to */ 
   echo $HTTP_COOKIE_VARS["id"] . "<br />"; 
?>

Para eliminar una cookie, debe configurar la cookie con una fecha que ya haya vencido.

<?php 
   setcookie( "token", "", time()- 60, "/","", 0); 
   setcookie( "id", "", time()- 60, "/","", 0); 
?>