Leçons de niveau 14

PHP/Cookies

Une page de Wikiversité.
< PHP
Aller à : navigation, rechercher
Début de la boite de navigation du chapitre
Cookies
Icône de la faculté
Chapitre no11
Leçon : PHP
Chap. préc. : Sessions
Chap. suiv. : Fichiers
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
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 | modifier le wikicode]

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.

Panneau d’avertissement 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 | modifier le wikicode]

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

Exemples[modifier | modifier le wikicode]

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

Références[modifier | modifier le wikicode]