Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
-Tutoriales

Servlets y JSP


Manejar Cookies

. Introducción a los Cookies

Los Cookies son pequeños trozos de información textual que el servidor Web envía al navegador y que el navegador devuelve sin modificar cuando visita más tarde la misma site o dominio. Dejando que el servidor lea la información envíada previamente al cliente, la site puede proporcionar a los visitantes un número de conveniencias:

  • Identificar a un usuario durante una sesión de comercio electrónico. Muchas tiendas on-line usan una "carta de compra" a la que se añaden los articulos que selecciona el usuario, luego continúa comprando. Como la conexión HTTP se cierra después de enviar cada página, cuando el usuario selecciona un nuevo item para su carta. ¿cómo sabe la tienda que él es el mismo usuario que añadió el ítem anterior a su carta? Los cookies son una buena forma de conseguir esto. De hecho, son tan útiles que los sevlets tienen un API especifico para esto, y los autores de servlets no necesitan manipular las cookies directamente haciendo uso de él. Esto se explica en la página sigueinte .
  • Evitar el nombre de usuario y la password. Muchas grandes sites requieren registrarse para poder usar sus servicios, pero es un inconveniente recordar el nombre de usuario y la password. Los cookies son una buena alternativa para sites de baja seguridad. Cuando un usuario se registra, se envía una cookie con un único ID de usuario. Cuando el cliente se reconecta más tarde, se devuelve el ID de usuario, el servidor los busca, determina que pertenece a un usuario registrado, y no requiere explícitamente el nombre de usuario y la password.
  • Personalizar una Site. Muchos "portales" nos permiten personalizar el aspecto de la página principal. Usan cookies para recordar lo que queremos, para que obtengamos el mismo resultado inicial la próxima vez.
  • Publicidad enfocada. Los motores de búsqueda cobran más a sus clientes por mostrar anuncios "directos" que por anuncios "aleatorios". Es decir, si hacemos una búsqueda sobre "Java Servlets", un motor de búsquea cobra más por un anuncio de un entorno de desarrollo de Servlets que por el de una agencia de viajes on-line. El problema es que tienen que enseñarnos un anuncio aleatorio la primera vez que llegamos y no hemos realizado la búsqueda, así como cuando buscamos algo que no corresponde con las caegorías de anuncios. Los cookies les permiten recordar "Oh, esta es la persona que buscó por esto y esto enteriormente" y muestra un anunció apropiado (lease "caro") en vez de uno aleatorio (lease "barato").

Ahora, añadir conveniencias al usuario y añadir valor al proporietario de la site es el propósito que hay detrás de las cookies. Y no te creas todas las informaciones, las cookies no son un serio problema de seguridad. Las cookies nunca son interpretadas o ejecutadas de ninguna forma, y no pueden usarse para insertar virus o atacar nuestro sistema. Además, como los navegadores sólo aceptan 20 cookies por site y 300 cookies en total, cada cookies está limitada a 4Kb, las cookies no se pueden usar para llenar el disco duro o lanzar otros ataques de denegación de servicio.

Sin embargo, aunque no presentan un serio problema de seguridad, si que presentan un significante problema de privacidad. Primero, a algunas personas no les gusta que los motores de búsqueda puedan recordar que ellos son las personas que usualmente buscan por uno u otro tópico. Incluso peor, dos motores de búsqueda pueden compartir datos sobre usuarios cargando pequeñas imágenes de una tercera parte que usa los cookies y comparte los datos con los dos motores de búsqueda. (Sin embargo, Netscape tiene una bonita caracterísitca que permite rechazar las cookies de otros sites distintos del que nos conectamos, pero sin desactivar las cookies totalmente). Este truco puede incluso ser explotado mediante email si usamos un programa de correo conpatible HTML que soporte Cookies, como lo hace Outlook Express. Así, la gente podría enviar un email que cargue imágenes, adjuntar cookies a esas imágenes, y luego identificar nuestra dirección email y todo cuando vamos a su site.

O, una site que podría tener un nivel de seguridad muy superior al estándard podría permitir a los usuarios saltarse el nombre y la password mediante cookies. Por ejemplo, algunas de las grandes librerías on-line usan cookies para recordar a sus usuarios, y nos permite hacer pedidos sin tener que reintroducir nuestra información personal. Sin embargo, no muestran realmente el número completo de nuestra tarjeta de crédito, y sólo permiten envíar libros a la dirección que fue introducida cuando introducimos el número completo de la tarjeta de crédito o el nombre de usuario y la password. Y como resultado, alguien que use nuestro ordenador (o que robe el fichero cookie) lo único que podría hacer sería un enorme pedido de libros con nuestra tarjeta de crédito que nos llegaría a casa, donde podrían ser rechazados. Sin embargo, las pequeñas compañias no suelen ser tan cuidadosas, y el acceso de alguien a nuestro ordenador o al fichero de cookies puede resultar en una pérdida de información personal importante. Incluso peor, las sites incompetentes podrían embeber el propio número de tarjeta de crédito y otra información sensible directamente dentro de cookies, en vez de usar identificadores inocuos que sólo se enlazan con los usuarios reales en el servidor.

El punto de todo esto es doble. Primero, debido a los problemas reales de privacidad, algunos usuarios desactivan las cookies. Por eso, incluso aunque usemos cookies para dar valor añadido a nuestra site, nuestra site no debería depender de ellas. Segundo, como autor de Servlets que podemos usar cookies, no deberíamos confiar a los cookies información particularmente sensible, ya que el usuario podría correr el riesgo de que alguien accediera a su ordenador o a sus ficheros de cookies.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network