Théorie sur les Cookies

Transcription

Théorie sur les Cookies
Théorie sur les Cookies - Javascript
Qu'est-ce qu'un cookie :
Un cookie est un fichier texte enregistré sur la machine du visiteur et qui permet de stocker des
informations de manière permanente ou temporaire.
Exemples de cookies :
 les compteurs de visite;
 affichage de pages personnalisées;
 transférer des informations d'une page d'un site à une autre page du même site;
 retenir votre identifiant de messagerie ou des informations personnelles pouvant être utiles et vous
permettre une navigation plus aisée;
 la gestion du contenu des caddies dans les sites de commerce électronique;
 l'orientation des visiteurs vers leurs pages préférées;
 la mémorisation des mots de passe et données d'un formulaire pour éviter leur ressaisie;
 Il existe aussi des utilisations moins "amicales" des cookies.
Principe des cookies :
 Un cookie dure le temps d'une session Web (tant que le navigateur est ouvert / en mémoire).
 Il est possible d'enregistrer le cookie sur le disque dur en donnant une date d'expiration ultérieure.
 Le navigateur stocke tous les cookies pour un domaine dans un fichier dont le nom diffère selon les
plates-formes et les navigateurs.
Les cookies sont restreints par plusieurs paramètres :
 Un cookie ne peut pas excéder la taille de 4 ko, ce qui représente environ 4 000 caractères;
 Un cookie n'est accessible en lecture ou en écriture que sur le domaine Internet sur lequel il a été
créé;
 Chaque domaine Internet ne peut générer plus de 20 cookies différents;
 Les navigateurs peuvent être configurés pour refuser les cookies. Dans ce cas, leur utilisation est
inutile.
Où trouver les cookies :
 Firefox : Outils / Options / Vie privée / le lien : supprimer des cookies spécifiques / Sélectionner le
cookie / voir les infos sur le cookie en bas de la fenêtre.
 Opéra : Outils / Réglages / Avancé / témoins (cookies) / Gérer les témoins… / Sélectionner le cookie /
bouton Editer.
 Internet Explorer :
Menu Outils/Options Internet/Onglet Général/ section Historique de navigation/ bouton Paramètres/
bouton Afficher les fichiers.
c:\documents and settings / votreNomDeProfil / Cookies / sélectionner le cookie / Ouvrir avec
WordPad.
Comment accéder aux cookies :
 À partir de la propriété cookie de l'objet document : document.cookie
 document.cookie contient une chaîne de caractères regroupant tous les cookies pour un domaine
donné dont les éléments sont séparés par un point-virgule « ; »
 Le dernier point-virgule ";" est effacé par défaut. Cela nous permet de savoir si on se trouve en fin de
chaîne (si c'est le dernier cookie).
Ecriture du cookie :
document.cookie = "liste-des-attributs-du-cookie";
Supprimer un cookie :
Il suffit de réenregistrer le cookie en fixant comme date d'expiration une date antérieure au moment
présent.
Hiver 2010
cookies.doc
1/3
Nom donné à la fonction : (simplement une suggestion…)
Pour l'écriture d'un cookie :
function setCookie() ou function ecrireCookie()
Pour la lecture d'un cookie :
function getCookie() ou function lireCookie()
Les attributs d'un cookie :
name=valeur; expires=date; path=cheminAccès; domain=nomDomaine; secure;
name=valeur :
Le nom permet d'identifier le cookie. Sa valeur est un texte qui constitue le
contenu du cookie. Cette chaîne de caractères sera préalablement passée à la
moulinette de escape() pour coder d'éventuels caractères spéciaux ou accentués.
La valeur pourra être récupérer ultérieurement par le site.
expires=date-au-format-GMT : Au format GMT (ex: Tue, 31-Dec-2002 08:00:00 GMT), elle est facultative.
Cette date désigne la durée de vie du cookie (date d'expiration). Si l'expression
expires est omise, le cookie n'existe que jusqu'à la fin de la session en cours du
navigateur (à la fermeture du navigateur le cookie "meurt"). Si cette date
d'expiration est dépassée, le cookie est effacé.
(nous n'utiliserons pas les attributs suivants dans ce cours)
path=cheminAccès :
Cette information spécifie quelles autres pages peuvent accéder à ce cookie. Si on
ne précise pas de chemin, le cookie est visible partout sur le site à partir du
répertoire où il a été créé.
Inversement, si on veut qu'un cookie créé depuis un sous-répertoire soit visible
de partout dans le site, y compris le(s) répertoire(s) parent(s), il suffit de déclarer
un path égal à "/" : path="/".
Si le champ path est absent, c'est équivalent à déclarer un chemin égal au
répertoire courant. Ce qui est dans bien des cas suffisant.
domain=nomDomain : Le nom de domaine ou de l'ordinateur qui a déposé le cookie. Il indique le
serveur pour lequel le cookie est valable (ex: www.domaine.com). S'il n'est pas
spécifié il prend la valeur par défaut du domaine de la page HTML qui écrit le
cookie, ce qui est, dans la grande majorité des cas, l'effet recherché.
Pour des raisons de sécurité, il ne semble cependant pas possible (on a essayé),
qu'un site web place des cookies qui seront relus par un autre site.
Donc, par défaut, le cookie est la propriété du domaine qui l'a posé
www.machintruc.com ne pourra pas lire les cookies posés par www.truc.net, pour
des raisons de sécurité.
secure :
C'est un mot clé écrit tel quel. Sa présence implique l'invisibilité du cookie pour
les transactions normales. Il ne pourra être consulté qu'au cours d'une
transaction sécurisée (protocole HTTPS et non HTTP). Donc, s'il existe, le cookie
ne sera transmis que si la connexion vers le serveur est sécurisée.
Structure d'un cookie :
 document.cookie est une chaîne de caractères qui contient une liste de tous les cookies

cela consiste à la paire "name=value" pour chaque cookie qui fait référence au courrant domaine,
chemin et date.
Exemple :
NomDuCookie1=cookieValeur1;NomCookie2=cookieValeur2;NomCookie3=cookieValeur3;…
Pourquoi mettre un "=" après le nom et un ";" ? Tout simplement parce que le cookie stocke une
chaîne de caractères sans séparateur donc au moment de récupérer le nom et la valeur du cookie, ce
Hiver 2010
cookies.doc
2/3
n’est pas très facile, c’est pourquoi on ajoute généralement un (ou plusieurs) caractère(s) pour
séparer les informations afin de les récupérer plus facilement.
Hiver 2010
cookies.doc
3/3

Documents pareils