Seguridad - Cookies

Agosto 2015

Introducción a las cookies



cookie


¿Qué son estas extrañas cositas que seguramente se le han presentado en un sitio web?

En la mayoría de los casos, cuando un servidor web ofrece una cookie, los usuarios, ignorando el significado del término, hacen clic en "Aceptar" sin preguntarse de dónde viene. Una cookie en realidad es un archivo que se guarda en el disco rígido del usuario y le permite al servidor web distinguir a ese usuario cuando cambia de pagina web. Las cookies son usadas principalmente por sitios web de comercio electrónico en los que se guardan las preferencias del usuario (como las opciones que han sido seleccionadas previamente) de manera que el usuario no tenga que volver a seleccionarlas la próxima vez que visite este sitio.




Las cookies y la seguridad


El mayor problema de las cookies es la información que contienen. Cuando un usuario se conecta a un sitio web que puede ser personalizado, se le solicita que responda a varias preguntas a fin de crear un perfil y luego almacenar esta información en una cookie. Según el sitio web, la forma en que se almacenan estos datos puede resultar perjudicial para el usuario.

De hecho, un sitio de ventas en línea puede recolectar información sobre las preferencias del usuario a través de un cuestionario, para poder luego ofrecer productos que le interesen

Por ejemplo: al saber si el usuario es hombre o mujer, un sitio puede derivar al usuario al departamento adecuado para ahorrar tiempo (y, lo más importante, para aumentar sus ventas). Si, además, un usuario indica en su perfil que juega al tenis, el sitio le sugerirá una selección personal de los últimos productos relacionados con esta actividad.

Por lo tanto, se puede decir que una cookie es una forma de crear un vínculo entre la sesión del usuario (explorando determinadas páginas de un sitio web durante un determinado tiempo) y la información relacionada con dicho usuario.

Lo ideal sería que una cookie contenga una cadena aleatoria (identificación de sesión) única, difícil de descifrar y válida sólo por un tiempo determinado. Sólo el servidor debería ser capaz de asociar las preferencias del usuario con el identificador de la sesión. De esta manera, una vez que la cookie expira, el identificador de sesión se vuelve inutilizable y no puede contener ningún dato que se relacione con el usuario.

Una cookie nunca debe contener información directa del usuario y su duración debería ser lo más cercana posible a la duración de la sesión del usuario.

Por otro lado, el servidor envía los datos almacenados en la cookie a la base de datos donde el usuario ingresó sus datos (a excepción de la dirección IP y la ID del buscador que se transmiten automáticamente al servidor). Por lo tanto, la cookie nunca debe contener información del usuario que no haya sido proporcionada por él mismo, ni información sobre los contenidos del equipo. En otras palabras, la cookie no debe recolectar información del equipo del usuario.

Por lo tanto, niéguese siempre a dar información personal a un sitio web que no parezca legítimo, dado que no hay ninguna razón por la cual deba revelar información personal.

Una cookie no es un archivo peligroso en sí mismo, siempre y cuando esté bien diseñado y el usuario no proporcione información personal.

¿Cómo funcionan las cookies?


Las cookies forman parte del protocolo HTTP, que es el protocolo que se utiliza para navegar en páginas web. El protocolo HTTP se usa para intercambiar mensajes entre el servidor y el cliente utilizando solicitudes y respuestas HTTP.

Las solicitudes y respuestas HTTP contienen encabezados que envían datos específicos en ambas direcciones. Uno de estos encabezados está reservado para escribir archivos destinados al disco rígido: cookies.

El encabezado HTTP reservado para el uso de las cookies se denomina Set-Cookie. Está compuesto por una línea de texto simple con el siguiente formato:

Set-Cookie: NOMBRE=VALOR; domain=NOMBRE_DOMINIO; expires=FECHA DE VENCIMIENTO DE LA COOKIE 

Se trata de una serie de caracteres que comienza con "Set-Cookie" y continúa con pares de valores clave con el formato Nombre=Valor, separado por comas.

A continuación, presentamos una tabla con los principales pares de valores que pueden usar en una cookie:


AtributoValorSintaxisDescripción
NOMBRE _DE_COOKIEVALOREl nombre y el valor no pueden contener los siguientes caracteres: punto y coma (;), coma (,) o espacio ( ). Dichos valores sólo se pueden agregar utilizando una codificación URL<a/>.Este es el único atributo obligatorio.
expiresFECHADía, DD-MM-AAAA HH:MM:SS GMTEl atributo de expires se usa para definir la fecha en la que la cookie ya no debe almacenarse en el disco rígido ni ser admitida por el servidor.
domainnombre_de_dominioxxx.xxx.xxxEl nombre del dominio generalmente se deja vacío ya que el nombre del servidor se asigna por defecto (generalmente es lo que se quiere aquí). Donde se indique, el nombre del dominio debe contener al menos dos puntos (es decir: www.commentcamarche.net). Un equipo proveniente de un dominio específico sólo puede especificar un nombre de sub-dominio o su propio nombre de dominio
path/directorio/ruta/El valor path se utiliza para definir una carpeta o archivo en el servidor dentro del cual la cookie es válida, para reducir el campo de acción.
secureningunoEl valor secure es opcional. Se utiliza para especificar que la cookie será enviada sólo si la conexión es segura (utilizando SSL o HTTPS).




  • Una cookie no puede tener un tamaño superior a 4 Kb.
  • Un cliente no puede almacenar más de 300 cookies en su disco rígido.
  • Un servidor no puede crear más de 20 cookies para un cliente.

Envío de cookies al servidor


Cuando un cliente se conecta a un sitio (es decir, a un servidor), las cookies de dominio y ruta se envían automáticamente en los encabezados de las solicitudes HTTP. El encabezado tiene el siguiente formato:

Cookie: NOMBRE1=VALOR1; NOMBRE2=VALOR2; ... 


Luego, una secuencia de comandos CGI (u otros como ASP o PHP) verifica la presencia de la cookie:

  • analizando los encabezados, en el caso de la secuencia de comandos CGI
  • utilizando el objeto Request, en el caso de la secuencia de comandos ASP
  • utilizando las variables $NOMBRE1, $NOMBRE2, etc., que se crean automáticamente gracias al motor de secuencias de comandos PHP

Limitaciones de las cookies


Las cookies están sujetas a ciertas restricciones:

  • El número total se limita a 300
  • El tamaño máximo es de 4 Kb
  • Un máximo de 20 cookies por dominio.

Algunos detalles adicionales sobre las cookies



  • La cookie no puede visualizarse hasta que la siguiente página no esté completamente cargada
  • Algunos buscadores no responden bien a las cookies
    • Microsoft Internet Explorer 4 con Service Pack 1 no maneja las cookies correctamente si éstos tienen definido el valor "ruta".
    • A la inversa, Netscape Communicator 4.05 y Microsoft Internet Explorer 3.x no manejan las cookies correctamente si no poseen la ruta y los valores de caducidad definidos.
Consulta este artículo sin tener que estar conectado, descárgalo gratis aquí en formato PDF:
Seguridad-cookies .pdf

Consulta también


Security - Cookies
Security - Cookies
Sicherheit - die Cookies
Sicherheit - die Cookies
Cookies (informatique)
Cookies (informatique)
Sicurezza - I cookies
Sicurezza - I cookies
Segurança - Os cookies
Segurança - Os cookies
El documento «Seguridad - Cookies» de CCM (es.ccm.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo siempre y cuando respetes las condiciones de dicha licencia y des crédito a CCM.