Recherche de site Web

Comment activer des sessions en PHP avec des cookies


Les cookies sont omniprésents dans notre vie quotidienne lorsque nous naviguons sur Internet. La plupart des gens ne sauraient pas grand-chose à leur sujet, si ce n’était pour ces panneaux « notre site web utilise des cookies pour être opérationnel » qui sont sur presque toutes les pages depuis le RGPD. Les cookies ont une longue histoire, parfois bons, parfois mauvais. Comme c’est le cas pour la plupart des aspects du monde, cette technologie peut être utilisée à bon ou à mauvais escient.

Dans ce tutoriel, nous allons explorer un peu les cookies du point de vue de la programmation côté serveur : nous allons créer un exemple de cookie en PHP, et y stocker le nom d’utilisateur choisi par le visiteur. Le cookie résidera dans le navigateur du visiteur, de sorte que lors de la prochaine visite, nous pourrons le lire et l’utiliser pour accueillir le visiteur sur le nom d’utilisateur soumis.

Notre simple page web reconnaîtra le visiteur tant que le cookie est présent dans le navigateur. Nous ne stockons aucune information du côté du serveur : si le visiteur s’enregistre d’abord depuis un PC, et la prochaine fois depuis un smartphone, nous ne saurons pas qu’il s’agit du même individu. C’est l’un des principaux points des cookies : nous ne pouvons identifier le client donné que si les données sont fournies par ce navigateur particulier.

Dans ce tutoriel, vous allez apprendre :

  • Comment configurer l’environnement de test
  • Comment écrire un exemple simple de programme qui utilise des cookies
  • Comment tester le fonctionnement du programme
  • Comment réinitialiser l’environnement

Utilisation de cookies en PHP.

Configuration logicielle requise et conventions utilisées

La configuration

Notre environnement de test se compose d’un serveur Web Apache, avec le module PHP chargé. Dans notre configuration, nous utilisons Ubuntu 20.04 LTS, mais n’importe quelle distribution récente ferait l’affaire. Sur Ubuntu, tout ce dont nous avons besoin est apache2 et php :

$sudo apt-get install apache2
$sudo apt-get install php

Nous avons également besoin que le serveur web fonctionne pour atteindre notre page d’exemple avec un navigateur :

$sudo systemctl restart apache2

Nous aurons également besoin d’un navigateur récent avec les cookies activés. Ce tutoriel utilise la dernière version de Firefox ; si vous avez des extensions comme Noscript, désactivez-les ou activez les cookies du serveur web de test pendant que vous testez.

Remplir le formulaire sur la page.

En cliquant sur Soumettre, la page nous accueille par le nom d’utilisateur que nous avons envoyé.

Nom d’utilisateur reconnu par la page.

Ce n’est pas magique jusqu’à présent, nous avons lu les données envoyées dans la requête POST, défini le nom d’utilisateur en conséquence et l’avons utilisé pour saluer le visiteur. Mais nous mettons également en place un cookie (ligne 11), qui stocke les données fournies dans le navigateur. Si nous ouvrons à nouveau la page (ce qui est une autre demande, où nous n’avons publié aucune information sur le nom d’utilisateur), nous serons également accueillis par le nom d’utilisateur défini précédemment, tant que le cookie reste dans le navigateur. Le formulaire qui permet de soumettre un nom d’utilisateur n’est pas non plus affiché sur la nouvelle page, car nous sommes la branche « false » de l’instruction if at
ligne 16.

Comment réinitialiser l’environnement

Pour effacer l’état du navigateur, nous pouvons déposer le cookie à partir de celui-ci. Dans Firefox 74.0, il se trouve dans Préférences -> Confidentialité et sécurité -> Cookies et données de site -> Gérer les données...

Effacement des cookies du site dans Firefox.

Sur l’écran d’impression, nous recherchons l’adresse IP du serveur web de test, car nous avons atteint le site avec l’adresse IP. En cliquant sur « supprimer la sélection », puis sur « enregistrer les modifications », nous finalisons la suppression du cookie que le site a placé dans notre navigateur.

Si nous visitons à nouveau la page, le message d’accueil anonyme original nous attendra, avec le formulaire pour soumettre un nom d’utilisateur. Le site n’a stocké aucune donnée, et sans le cookie, il ne sait pas qui nous sommes.

Conclusion

Ce tutoriel a pour but de donner une compréhension du fonctionnement des cookies. Nous pouvons stocker des informations avec eux dans le navigateur du visiteur afin d’identifier l’instance donnée du client qui navigue sur notre site.

Leur configuration est simple, mais il y a de nombreuses limitations à prendre en compte : si l’utilisateur efface les cookies, ou ne les accepte pas du tout, la fonctionnalité basée sur ceux-ci ne fonctionnera pas. L’autre chose principale à garder à l’esprit est que le cookie est lié à l’instance du navigateur, donc si le même utilisateur ouvre un autre navigateur sur le même ordinateur, par exemple Chrome, les cookies qui étaient placés dans Firefox ne seront pas vus.

Articles connexes: