Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Sécurité - Les cookies

cookies Encyclopédie


Introduction aux cookies

cookie

Quels sont ces étranges gateaux qu'un site web vous a sûrement déjà proposé?

La plupart du temps, lorsqu'un serveur web propose un cookie, les utilisateurs ignorent ce terme et cliquent sur « OK&nsbp;» sans se préoccuper de son devenir. Un cookie est en réalité un fichier stocké sur le disque dur de l'utilisateur, afin de permettre au serveur web de le reconnaître d'une page web à l'autre. Les cookies sont notamment utilisés par les sites de commerce électronique afin de conserver les préférence de l'utilisateur (par exemple les options qu'il a coché) afin de lui éviter de les resaisir.

Les cookies et la sécurité

Le problème majeur des cookies relève des informations qu'ils contiennent. En effet, lorsqu'un utilisateur se connecte à un site personnalisable, celui-ci va lui poser quelques questions afin de dresser son profil, puis stocker ces données dans un cookie. Selon le site, la manière de laquelle l'information est stocké peut s'avérer nuisible à l'utilisateur.

En effet, un site de vente en ligne peut par exemple collecter des informations sur les préférences des utilisateurs par le biais d'un questionnaire, afin de leur proposer ultérieurement des articles pouvant les intéresser.

Par exemple, en sachant si l'utilisateur est un homme ou une femme, un site pourra l'aiguiller directement au rayon approprié pour lui faire économiser du temps (et surtout pour mieux vendre). Si par ailleurs, l'utilisateur a indiqué dans son profil qu'il est amateur de tennis, le site sera en mesure de lui proposera une sélection personnalisée des derniers articles en la matière.

Un cookie est ainsi un mécanisme prévu pour créer une association entre la session de l'utilisateur (navigation entre des pages d'un même site pendant une période donnée) et les données le concernant.

Idéalement, le cookie doit contenir une chaîne aléatoire (identifiant de session) unique et difficilement devinable, valide uniquement pendant un temps donné. Seul le serveur doit pouvoir être en mesure d'associer les préférences de l'utilisateur à cet identifiant. Ainsi, après expiration du cookie l'identifiant de session sera inutile et le cookie ne contiendra aucune information concernant l'utilisateur.

En aucun cas le cookie ne doit contenir directement les informations concernant l'utilisateur et sa durée de vie doit être la plus proche possible de celle correspondant à la session de l'utilisateur.

D'autre part, les données stockées dans un cookie sont envoyées par le serveur, sur la base des données renseignées par l'utilisateur (à l'exception de l'adresse IP et de l'identification du navigateur transmis automatiquement au serveur). Ainsi, le cookie ne peut en aucun cas contenir des informations sur l'utilisateur qu'il n'a pas données ou d'information sur le contenu de l'ordinateur, ou en d'autres termes: le cookie ne peut pas collecter d'informations sur le système de l'utilisateur.

Ainsi, refusez de céder des informations personnelles à un site ne vous inspirant pas confiance car il n'a aucune raison de collecter des informations vous concernant.

Un cookie n'a donc rien de dangereux en soi s'il est bien con&ccecil;u et si l'utilisateur ne donne pas d'informations personnelles.

Fonctionnement des cookies

Les cookies font partie des spécifications du protocole HTTP, c'est-à-dire le protocole permettant de surfer sur des pages web. Le protocole HTTP permet d'échanger des messages entre le serveur et le client à l'aide de requêtes HTTP et de réponses HTTP.

Les requêtes et réponses HTTP contiennent des en-têtes permettant d'envoyer des informations particulières de façon bilatérale. Un de ces en-têtes est réservé à l'écriture de fichiers sur le disque dur : les cookies.

L'en-tête HTTP réservé à l'utilisation des cookies s'appelle Set-Cookie, il s'agit d'une simple ligne de texte de la forme :

Set-Cookie : NOM=VALEUR; domain=NOM_DE_DOMAINE; expires=DATE 
Il s'agit donc d'une chaîne de caractères commençant par « Set-Cookie :  » et suivie de paires clés-valeur, sous la forme CLE=VALEUR, séparées par des virgules.

Voici un tableau des principales clés (appelées attributs) possibles pour un cookie :

Attribut Valeur Syntaxe Description
NOM_DU_COOKIE VALEUR Le nom et la valeur ne peuvent pas contenir les caractères point-virgule (;), virgule (,) et espace (). Pour mettre de telles valeur il faut recourir à l'encodage URL Cet attribut est obligatoire (c'est d'ailleurs le seul)
expires DATE Jour, DD-Moi-YYYY HH:MM:SS GMT L'attribut expires permet de définir la date à laquelle le cookie ne doit plus être stocké sur le disque, et ne doit plus être pris en compte par le serveur
domain nom_du_domaine xxx.xxx.xxx Le nom de domaine est généralement laissé vide car le nom du serveur est assigné par défaut (c'est ce que l'on désire généralement). Lorsqu'il est indiqué, le nom de domaine doit contenir au moins deux points (ie www.commentcamarche.net). Une machine provenant d'un domaine spécifique ne peut spécifier qu'un nom de sous-domaine ou son propre nom de domaine
path /repertoire /chemin/ L'attribut path (traduisez chemin) permet de définir un sous-répertoire ou un fichier du serveur sur lequel le cookie est valide, afin de réduire son champ d'action
secure aucun   L'attribut secure est optionnel. Il permet de spécifier que le cookie sera envoyé uniquement si la connexion est sécurisée (par SSL ou S-HTTP

  • Un cookie ne peut pas dépasser 4 Ko
  • Un client ne peut pas avoir plus de 300 cookies sur son disque
  • Un serveur ne peut créer que 20 cookies maximum chez le client

Envoi des cookies au serveur

Lorsqu'un client se connecte à un site (donc au serveur), les cookies pour le domaine et le chemin spécifié sont automatiquement envoyés dans les en-têtes de la requête HTTP. L'en-tête se présente alors sous la forme :

Cookie : NOM1=VALEUR1; NOM2=VALEUR2; ...  

Un script CGI (ou autres tel que ASP ou PHP) peut alors vérifier la présence du cookie :

  • en analysant les en-têtes dans le cas du CGI
  • en utilisant l'objet Request dans le cas du script ASP
  • en utilisant les variables $NOM1, $NOM2,... créés automatiquement par le moteur de script PHP

Limitations des cookies

Les cookies sont soumis à un certain nombre de contraintes :

  • Leur nombre total est limité à 300 ;
  • La taille maximal d'un cookie est de 4 ko ;
  • Il ne peut exister au maximum que 20 cookies par domaine.

Quelques précisions supplémentaires sur les cookies

  • Le cookie n'est pas visible avant le prochain chargement de page.
  • Il faut savoir que certains navigateurs ne traitent pas bien les cookies
    • Microsoft Internet Explorer 4 avec le Service Pack 1 ne traite pas correctement les cookies qui ont le paramètre chemin défini.
    • Inversement Netscape Communicator 4.05 et Microsoft Internet Explorer 3.x ne traitent pas correctement les cookies qui n'ont pas les paramètres chemin et expiration définis.

Trucs & astuces pertinents trouvés dans la base de connaissances

01/10 19h45 Gérer les cookies (Internet)
01/09 23h04 Cookies Mozilla, Firefox et Internet Explorer (Internet)
Cookies Plus d'astuces sur « Cookies »

Discussions pertinentes trouvées dans le forum

21/11 07h05 pc lent cookies pc lent et cookies Windows 19/12 16h20->blondin777104
24/05 18h20 a2 squared cookies persistant problème avec a2 squared cookies persistant Virus/Sécurité 30/05 19h48->Eraclius27
13/05 12h52 cookies sert cookies à quoi ça sert Virus/Sécurité 23/05 01h12->boulepate6219
14/09 15h20 php cookies [PHP] Cookies Webmastering 14/09 17h29->Erdnax14
06/12 17h04  Spyware cookie chez CCM... Suggestions 09/12 22h43->Yoan11
06/04 08h46 firefox marque pages cookies [Firefox] Marque-pages et cookies Internet 09/02 13h46->Dupont7
04/06 22h03 cookies disparaissent [cookies] disparaissent Windows 05/06 18h06->Séb087
13/07 14h32 6 cookies solution 6 cookies, une solution? Virus/Sécurité 15/07 17h25->Regis596
12/09 10h25 kerio cookies Kerio et cookies? Virus/Sécurité 13/09 14h48->^^Marie^^6
15/03 14h21 chemin accès aux cookies mac os10 chemin d'accès aux cookies sur mac OS10 MacOS 19/04 12h20->j.m.Theuillon5
Discussion fermée Problème résolu Cookies Plus de discussions sur « Cookies »

Ce document intitulé « Sécurité - Les cookies » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.