Eric Lapaille. eric at netline.be
Les Cookies : c'est pas du gâteau Proust vantait les charmes de ses madeleines, Netscape chante
les vertus de ses cookies, ces petites pièces d'information stockées par
un navigateur sur votre disque dur et qu'un serveur World Wide Web distant
peut consulter . Intrusion dans votre vie privée ? Violation de votre
intimité ?
Lorsque les programmeurs du navigateur Netscape ont développé leur programme, ils nous ont préparé une petite surprise pour le dessert : les cookies. Egalement connus comme persistent client state HTTP cookies ou magic cookies, ils n'ont de magique que le nom. . Un cookie, c'est simplement un nom auquel est associée une valeur. Un cookie est envoyé par un serveur HTTP vers votre navigateur qui place cette information dans un fichier du disque dur. A la prochaine connexion vers ce serveur, le navigateur renvoie au serveur l'information originale. C'est une procédure très utile pour conserver une information pendant
la visite d'un site Web comportant plusieurs pages. Le mécanisme est très
prisé par les Les cookies pallient une des lacunes du protocole HyperText Transport
Protocol à savoir que HTTP ne conserve aucune information entre deux connexions. Les spécifications complètes publiées par Netscape sur les cookies sont
disponibles à l'adresse
http://home.netscape.com/newsref/std/cookie_spec.html. Pour créer un cookie, un serveur Web envoie une ligne d'information
au navigateur commencant par le mot clé "Set-Cookie". Set-Cookie: NOM=VALEUR; expires=DATE; path=PATH; domain=DNAME; secure NOM et VALEUR seront les informations stockées sous forme de cookies.
La DATE est une date d'expiration après laquelle DNAME est le nom de la machine hôte ou du domaine à qui est destiné
le cookie. PATH désigne un sous-ensemble d'URL auxquels le cookie est
adressé. Si le mot clé secure est inclus dans la ligne de commande,
le cookie ne sera transféré qu'à travers une connexion sécurisée par le
protocole SSL (Secure Sockets Layer). Lorsque le Netscape Navigator envoie une requête URL à un serveur pour
lequel il a conservé des cookies, il lui adresse une ligne de commande
supplémentaire sous la forme Cookie: NAME=VALUE; NAME=VALUE; ... Côté serveur, un minuscule programme répondant à la norme CGI (Common Gateway Interface ) suffit à envoyer un cookie. Un script pour un shell Unix donne ceci : #!/bin/sh echo "Content-type: text/html" echo "Set-cookie: MyFavoriteMag=Computer%20Magasine; expires=Thursday, 01-Jan-97 12:00:00 GMT" echo "" echo "<H1>Ni vu, ni connu, je vous ai envoyé un cookie</H1>" Une fois l'information stockée sur le disque dur, il est possible de la retrouver grâce à la variable d'environnement HTTP_COOKIE #! /bin/sh echo "Content-type: text/html" echo "" echo "Voici votre cookie<P>" echo "$HTTP_COOKIE<P>" La société Netscape utilise ce mécanisme sur son site Web lorsque vous
sélectionnez l'option "personnalisez votre page Web". Lorsque
vous spécifiez au serveur Quelques régies publicitaires officiant sur le Net, Focalink.com, ad.doubleclick.net ou interse.com, utilisent les cookies pour s'assurer que les utilisateurs reçoivent à chaque visite des publicités différentes. Certains webmasters se servent des cookies pour vérifier le chemin parcouru par un utilisateur avant d'arriver à une page HTML précise. S'ils s'aperçoivent ainsi qu'il faut plus de quatre ou cinq hyperliens avant de parvenir à la page finale, ils ont la possibilité de faciliter la navigation de leurs utilisateurs en modifiant l'arborescence de leur site. Vous pouvez examiner le contenu de ce fichier comprenant tous vos cookies.
Si vous disposez d'une machine Unix, vous le trouverez sous le nom "cookies"
dans le répertoire .netscape en dessous de votre répertoire personnel.
Sur un Macintosh, il se cache dans le dossier netscape sous le nom de
MagicCookie. # Netscape HTTP Cookie File# http://www.netscape.com/newsref/std/cookie_spec.html# This is a generated file! Do not edit.www.kids.com FALSE / FALSE 946684799 voi-webwatch 30fbf18d-000e79c5-00007711.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID c65ffb1e,c6b0debb Microsoft ne pouvait être en reste. Depuis Internet Explorer 3.0, un
répertoire Cookies sous le répertoire principal Windows, reprend sous
forme de fichiers séparés, l'ensemble des cookies échangés entre clients
et serveurs Web avec comme nom de fichier le nom de domaine du serveur A raison d'une ligne par cookie, vous trouverez probablement dans le
vôtre une première colonne désignant le nom de domaine du serveur qui
vous a délivré ce Un navigateur, pour être conforme aux spécifications définies par Netscape,
doit pouvoir conserver jusqu'à 300 cookies de 4 KiloOctets maximum chacun.
Une fois cette limite dépassée, le navigateur doit supprimer le cookie
le plus ancien. Netscape a également limité le nombre de cookies à 20
par nom de domaine. Lorsqu'un programme serveur désire supprimer un cookie, il n'a pour
seule solution que de créer un même cookie mais dont la date d'expiration
est déjà passée. Le fait qu'un programme puisse écrire des données sur un disque sans
l'assentiment de son propriétaire a inquiété plus d'un spécialiste en
sécurité. Microsoft a aussitôt repris l'idée à son compte dans la version beta
de son Internet Explorer 3.0 sous la rubrique Options/Security. Si vous activez l'une ou l'autre de ces options sécurité, voici, à peu
de choses près, le message d'alerte qui sera émis par le navigateur Pour les plus paranos des utilisateurs Macintosh, je recommande un petit
logiciel, baptisé Cookie Monster, réalisé Si vous utilisez une version de Netscape antérieure à la version 3,
une petite astuce vous permettra, à la hussarde, [Cookies] Cookie File=[path]cookies.txt par [Cookies] Cookie File=NUL Il est possible d'obtenir le même résultat sous Windows 95 ou NT en
éditant la base de données Registry [HKEY_USERS\.Default\Software\Netscape\Netscape Navigator\Cookies] "Cookie File"="[path]Cookies.txt" devient [HKEY_USERS\.Default\Software\Netscape\Netscape Navigator\Cookies] "Cookie File"="NUL" Ne tombez pas dans une parano excessive. Il est totalement impossible
pour un serveur HTTP de lire sur votre disque des cookies qui ont été
générés par un autre site. Même s'ils simplifient la programmation d'un
site Web, les cookies ne font rien qui ne puisse être réalisé par une
méthode ordinaire comme la programmation CGI ou les scripts. Inutile de
tomber dans le sensationnalisme, les cookies sont finalement bien inoffensifs. |