![]() |
![]() |
![]() |
![]() |
![]() |
Introduction aux cookies |
![]() |
Quels sont ces étranges gateaux qu'un site internet vous a sûrement déjà proposé? La plupart du temps un serveur vous propose de placer un cookie, vous ignorez ce terme et cliquez sur "OK" sans vous préoccuper de son devenir. Ce cookie est en fait un fichier qui est stocké sur votre disque et qui permettra que le serveur vous reconnaisse la prochaine fois que vous revenez sur le site de telle façon à connaître vos préférence (par exemple les options que vous aurez coché) pour vous éviter de les resaisir. |
Les cookies et la sécurité |
Le problème de ces cookies est qu'ils contiennent des informations sur vous. En effet, lorsque vous vous connectez à un
site (proposant des cookies), celui-ci va vous poser quelques questions afin de dresser votre profil. Selon le site sur lequel vous vous
connectez cela peut être à votre avantage ou non...
En effet, si vous vous connectez sur le site d'un magasin permettant d'cheter en ligne, il pourra, par le biais d'un questionnaire, connaître
vos goûts et vous proposer des articles pouvant vous intéresser. Par exemple en sachant si vous êtes un homme il pourra vous aiguiller
directement au rayon homme pour vous faire économiser du temps, et s'il sait que vous êtes amateur de tennis
il vous proposera les derniers articles en la matière. En revanche, refusez de céder des informations sur vous à un site louche...
il n'a aucune raison de savoir des informations vous concernant.
En réalité un cookie n'a rien de dangereux en soit car c'est le navigateur qui les gère en écrivant dans un fichier des paires clés valeurs.
D'autre part, les données stockées dans un cookie sont envoyées par le serveur, ce qui signifie qu'il ne peut en aucun cas contenir des informations sur l'utilisateur que celui-ci n'a pas donné, ou en d'autres termes: le cookie ne peut pas collecter des informations sur le système de l'utilisateur.
Où sont stockés les cookies? |
Ces cookies sont généralement stockés dans un fichier cookies.txt, vous pouvez par exemple le mettre en lecture
seule pour ne plus être ennuyé par les serveurs vous les proposant.
Il existe un programme appelé "Cookie Jar" permettant de spécifier
les serveurs dont vous acceptez les cookies.
Comment fonctionnent les 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: 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 : suivie
par des paires clés-valeur sous la forme CLE=VALEUR et 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 | Jour, DD-Moi-YYYY HH:MM:SS GMT | 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 |
![]() |
|
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:
Quelques précisions supplémentaires sur les cookies |
![]() |
|