Cookies & sessions

Licence Informatique, semestre 6

Jean-Marc LecarpentierPascal Vanier

Enseignement des technologies du Web

 

Cookies & sessions

Notes de cours

Travail personnel

Objectifs

Ce TP commence par deux exercices d'application directe des principes des cookies et des sessions. Ils ont l'avantage de vous faire manipuler du PHP simple et réfléchir un peu au fonctionnement de HTTP.

Le troisième exercice (optionnel) montre une application classique des cookies, l'enregistrement de préférences de l'internaute.

Exercice 1 — Cookies #

  1. Écrire un script PHP qui crée une page HTML simple affichant la date et l'heure courantes.
  2. En utilisant un cookie, faire en sorte que si l'internaute a déjà visité la page, alors la date et l'heure de sa dernière visite sont également affichées.
    Exemple de résultat
    Exemple de résultat
  3. Modifier le code précédent pour que le site ne se souvienne de l'internaute que pendant trente secondes.
  4. Ouvrir l'outil « Réseau » de Firefox (menu > Développement web > Réseau ; raccourci : control-shift-E), et observer le cookie transmis dans les en-têtes HTTP de la requête.
  5. Ouvrir l'outil « Stockage » de Firefox (menu > Développement web > Inspecteur de stockage). Vous pouvez voir les cookies enregistrés par le navigateur pour les domaines utilisés par la page. Essayer de modifier le cookie, et actualiser la page. En particulier, comment s'affiche la page si vous mettez du HTML dans le cookie ? Essayer également de le supprimer.
  6. Conclure sur la confidentialité et la sécurité de l'utilisation des cookies.

Exercice 2 — Sessions PHP #

  1. En utilisant les sessions PHP, écrire un script qui crée une page HTML indiquant le nombre de visites de l'internaute, en suivant ce modèle.
  2. Ouvrir l'outil « Réseau » de Firefox (menu > Développement web > Réseau ; raccourci : control-shift-E), et observer le cookie de session transmis dans les en-têtes HTTP de la requête. Comment s'appelle-t-il ?
  3. L’utilisation du nom par défaut pour le cookie de session est déconseillée : il vaut mieux mettre un nom spécifique à votre application, ce qui permet de faire tourner plusieurs applications sur le même serveur sans risque qu'elles modifient les données les unes des autres. Modifier le nom du cookie de session (et vérifier que cela a bien pris effet).
  4. Ouvrir l'outil « Stockage » de Firefox (menu > Développement web > Inspecteur de stockage), supprimer le cookie et actualiser la page. Que se passe-t-il ? Essayer également de modifier la valeur de l'identifiant. Quelle est la différence par rapport à si on avait utilisé un simple cookie nb-visites ?
  5. Ajouter à la page un bouton ou un lien qui permet de remettre le compteur à zéro.

Exercice 3 (optionnel) — Stockage de préférences avec un cookie #

  1. Écrire un script PHP qui crée une page HTML simple avec un titre et du texte.
  2. Créer deux fichiers CSS pour cette page, clair.css et sombre.css, qui donnent des rendus très différents, le premier étant un thème sur fond clair et le second sur fond sombre.
  3. Ajouter un formulaire sur la page permettant à l'internaute de choisir le thème qu'il ou elle préfère, et enregistrer cette préférence dans un cookie, afin que la page s'affiche toujours avec le thème choisi. NB : N'oubliez pas l'onglet « Stockage » des outils de développement de Firefox, pour supprimer facilement un cookie.