Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > Sécurité > Cookies
        Comment utiliser les cookies ?
        Comment passer un array dans un cookie ?



Comment utiliser les cookies ?
auteur : Cyberzoide
Un cookie est un petit fichier texte placé dans l'ordinateur de l'internaute à la demande du serveur lors de la visite d'une page. Ce fichier permet de stocker un petit nombre d'informations, comme un mot de passe, le nombre de visites, etc.

A utiliser avec parcimonie, car un internaute peut les supprimer à la main ou configuer son navigateur pour les refuser.

AVERTISSEMENT : Les cookies peuvent être considérés par certaines personnes comme une violation de leur vie privée. La CNIL (Commission Nationale de l'Informatique et des Libertés, France) recommande aux webmasters qui ont recours aux cookies de le signaler très clairement sur leur page d'accueil.

Ainsi, il est souvent préférable d'utiliser les sessions à la place des cookies.

Un cookie peut être envoyé depuis un script PHP avec la fonction setCookie(). Cette fonction doit être utilisée avant tout envoi d'en-tête HTTP au navigateur (il ne faut rien afficher avant d'utiliser cette fonction).

1. Création de cookie Cette fonction prend pour paramètres :
  • $name : le nom du cookie (cette chaîne de caractères ne doit contenir ni virgule, ni espace, ni les deux points(:))
  • $value : la valeur du cookie
  • $expires : la date d'expiration du cookie au format timestamp Unix (c'est-à-dire le nombre de secondes écoulées depuis le 1er janvier 1970), s'il n'est pas spécifié, le cookie sera supprimé lors de la fermeture du navigateur
  • $path : le répertoire du site web pour lequel le cookie est valide (les sous-répertoires sont acceptés) : par défaut le répertoire actuel
  • $domain : le nom de domaine pour lequel le cookie est valide
  • $secure : indique (0 ou 1) si le cookie doit être transmis via une connexion sécurisée par le protocole HTTPS

Tous les paramètres sont optionnels sauf $name.

Exemple :
<?php
setcookie("Visites", "1", time()+24*60*60, "/", "monsite.fr", 0);
?>
Cet exemple envoie le cookie nommé Visites de valeur 1, de date d'expiration : le jour suivant (aujourd'hui + 24 heures). Il est valide dans tout le site web (c'est-à-dire depuis la racine / du site) pour le domaine monsite.fr. Il ne requiert pas de connexion sécurisée par HTTPS.

2. Lecture de cookie La puissance du PHP fait qu'il n'est pas nécéssaire d'aller chercher quoi que ce soit : PHP le fait tout seul automatiquement. Tous les cookies valides pour le domaine et le répertoire du script PHP en cours vont être mis en mémoire. Ainsi vont être créées des variables portant le nom des cookies et valant leur valeurs respectives. Le tableau $_COOKIE contient la liste des cookies disponibles.

Exemple :
<?php
echo $_COOKIE['Visites'];// affiche "1"
?>
3. Suppression de cookie Pour supprimer un cookie, c'est très simple, il suffit de le recréer à l'identique mais sans valeur et avec une date d'expiration dépassée.

Exemple :
<?php
setcookie("Visites", "", time()-100, "/", "monsite.fr", 0);
?>
Plus d'infos sur les cookies ici : http://wp.netscape.com/newsref/std/cookie_spec.html.


Comment passer un array dans un cookie ?
auteur : Gérard Ernaelsten
Il n'est pas possible de passer autre chose dans un cookie que du texte. Grâce à la fonction serialize(), nous pouvons passer un tableau dans un cookies.
$tableau = array("moto","voiture","vélo");
$tableau_serialize = serialize($tableau);
print_r($tableau_serialize);// Affiche a:3:{i:0;s:4:"moto";i:1;s:7:"voiture";i:2;s:5:"vélo";}

// insertion dans un cookie
setcookie("Visites", $tableau_serialize, time()+24*60*60);

//récupération du tableau
$tab_cookies = unserialize($_COOKIE['Visites']);
print_r($tab_cookies); // Array ( [0] => moto [1] => voiture [2] => vélo ) 
Attention, la taille des cookies est limitée à 4 ko.



Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com