Début de la boite de navigation du chapitre
Cookies
Icône de la faculté
Chapitre no 11
Leçon : PHP
Chap. préc. :Sessions
Chap. suiv. :Fichiers
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « PHP : Cookies
PHP/Cookies
 », n'a pu être restituée correctement ci-dessus.

Introduction

modifier
 
Base de données des cookies Firefox, lue avec SQLite.
 
Cookie ajouté à Firefox après commande PHP setcookie('wiki', 'user');.

Les cookies sont téléchargés du serveur HTTP sur le PC client, stockés dans le répertoire du navigateur de l’utilisateur courant. Par exemple dans Windows 7[1] :

  1. Firefox : C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\cookies.sqlite (lisible par exemple avec https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/).
  2. Chrome C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Safe Browsing Cookies.
  3. Internet Explorer : C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies.

Ces cookies sont limités à 20 par domaine dans la configuration par défaut de PHP.

  Ne pas mettre d'informations privées (mots de passe du serveur...) dans ces variables car elles sont stockées dans un fichier non protégé, sur le disque dur de l'utilisateur.

D'une manière générale, les cookies prennent la forme suivante :

Set-Cookie: nom=nouvelle_valeur; expires=date; path=/; domain=.exemple.org
  • Le chemin (path) permet de ne les rendre opérants que dans certaines parties d'un site.
  • Le domaine fonctionne même avec d'autres serveurs (voir pixel espion).

Syntaxe

modifier
<?php
  setcookie('cookie1', 'valeur1');
  echo $_COOKIE["cookie1"];
?>

Exemples

modifier
<?php
  if (isset($_COOKIE["cookie1"])) {
    echo 'Authentifié';
  } else {
    echo 'Non authentifié';
  }
?>

Références

modifier