Comment activer les sessions en PHP avec des cookies

Comment activer les sessions en PHP avec des cookies

Les cookies sont partout dans notre vie quotidienne pendant que nous naviguons sur Internet. La plupart des gens n'en savaient pas grand-chose, sinon pour ces panneaux «Notre site Web utilise des cookies pour être opérationnels» qui se trouvent surtout sur n'importe quelle page depuis le RGPDS. Les cookies ont une longue histoire s'il est parfois bon, parfois mauvais. Comme il est habituel avec la plupart des aspects du monde, cette technologie peut être utilisée dans une bonne ou une mauvaise façon.

Dans ce tutoriel, nous explorerons 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 stocker le nom d'utilisateur choisi du visiteur dedans. Le cookie résidera dans le navigateur du visiteur, donc lors de la prochaine visite, nous pouvons le lire et l'utiliser pour saluer le visiteur sur le nom d'utilisateur soumis.

Notre page Web simple reconnaîtra le visiteur tant que le cookie est présent dans le navigateur. Nous ne stockons aucune information du côté serveur: si le visiteur vérifie d'abord un PC, et la prochaine fois à partir d'un smartphone, nous ne saurons pas que c'est la même personne. C'est l'un des principaux points avec les cookies: nous ne pouvons identifier le client donné, et seulement tant que les données sont fournies par ce navigateur particulier.

Dans ce tutoriel, vous apprendrez:

  • Comment configurer l'environnement de test
  • Comment rédiger un exemple de programme simple qui utilise des cookies
  • Comment tester le fonctionnement du programme
  • Comment réinitialiser l'environnement
Utilisation de cookies dans PHP.

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Ubuntu 20.04 LTS
Logiciel Php 7.2, Firefox 74.0
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

La mise en place

Notre environnement de test se compose d'un serveur Web Apache, avec un module PHP chargé. Dans notre configuration, nous utilisons Ubuntu 20.04 LTS, mais toute distribution récente ferait. 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 s'exécute pour atteindre notre page d'exemple avec un navigateur:

$ sudo systemctl redémarrer apache2

Nous aurons également besoin d'un navigateur récent avec des cookies activés. Ce tutoriel utilise le dernier Firefox; Si vous avez des extensions comme noscrip.



Le code

Considérez le code source de notre exemple de page PHP comme suit:

Accueillir, " . $ nom d'utilisateur . "!\ n "; if ($ ask_to_store) echo"

Si vous souhaitez définir le nom d'utilisateur afin que nous puissions vous saluer, entrez-le au formulaire ci-dessous et soumettez votre demande.

\ n "; echo" \ n "; echo" \ n "; echo" \ n "; echo" \ n "; else echo"

Nous sommes heureux que nous puissions vous saluer par son nom.

\ n "; ?>
Copie

Nous mettons ce code dans un fichier appelé page_with_cookies.php, et le placer sur nos servants de test php annuaire. Nous serons donc en mesure de l'atteindre à partir d'un navigateur spécifiant l'URL comme suit: http: /// php / page_with_cookies.php. Nous verrons ce que fait ce code dans les étapes suivantes.

Comprendre comment fonctionne la page Web

Notre prochaine étape consiste à vérifier si notre page se charge correctement. Nous dirigeons notre navigateur vers la page, et un formulaire simple apparaît. 192.168.1.2 est l'adresse IP du serveur Web dans l'environnement de test, si vous suivez, vous devez le modifier par l'adresse ou le nom DNS du serveur sur lequel vous mettez ce code.

Lors de la première visite, la page ne saura pas qui nous sommes, donc il nous accueillera en tant que «visiteur inconnu». Nous avons spécifié ce nom dans la section Code, ligne 4, Et parce qu'aucun cookie n'est encore présent dans le navigateur, la valeur de la variable n'est pas écrasée par le nom d'utilisateur réel. Nous détectons qu'il n'y a pas de cookie ligne 6, Et aussi que ce n'est pas une demande qui détient
le nom d'utilisateur réel soumis par le visiteur (ligne 7). C'est l'état où nous affichons le formulaire qui permet au visiteur de soumettre un nom d'utilisateur. Ceci est spécifié par le booléen
variable à ligne 8.

Nous pouvons maintenant remplir le champ de saisie fourni dans un formulaire (généré par le code ligne 16-21). Nous utiliserons «Foo Bar» dans cet exemple.

Remplir le formulaire sur la page.

En appuyant sur Soumettre, la page salue 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 demande du post, réglé le nom d'utilisateur en conséquence et l'avons utilisé pour saluer le visiteur. Mais nous avons également mis un cookie (ligne 11) en place, qui stocke les données données dans le navigateur. Si nous ouvrons à nouveau la page (qui est une autre demande, où nous n'avons publié aucune information de nom d'utilisateur), nous serons également accueillis par le nom d'utilisateur défini plus tôt, tant que le cookie restera 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 «fausse» branche de la branche de la si déclaration
ligne 16.



Comment réinitialiser l'environnement

Pour effacer l'état du navigateur, nous pouvons en laisser tomber le cookie. Dans Firefox 74.0 Il peut être trouvé dans les préférences -> Confidentialité et sécurité -> Cookies et données du site -> Gérer les données…

Effacer le cookie du site à Firefox.

Sur l'écran Imprimé, nous recherchons l'adresse IP du serveur Web de test, car nous avons atteint le site par adresse IP. En appuyant sur «Supprimer sélectionné», que «Enregistrer les modifications», nous finalisons la suppression du cookie que le site a placé dans notre navigateur.

Si nous visitons à nouveau la page, la salutation anonyme originale nous attendra, avec le formulaire pour soumettre un nom d'utilisateur. Le site n'a pas stocké de données, et sans le cookie, il ne sait pas qui nous sommes.

Conclusion

Ce tutoriel avait l'intention de comprendre le fonctionnement des cookies. Nous pouvons stocker des informations avec eux dans le navigateur du visiteur pour identifier l'instance donnée du client qui parcourt notre site.

Les définir est simple, mais il existe de nombreuses limites à considérer: si l'utilisateur efface les cookies ou ne les accepte pas du tout, les fonctionnalités basées sur eux se casseront. L'autre chose principale à garder à l'esprit que le cookie est lié à l'instance du navigateur, donc si le même utilisateur ouvre un autre navigateur sur le même ordinateur, disons Chrome, les cookies qui sont placés dans Firefox ne seront pas vus.

Tutoriels Linux connexes:

  • Comment gérer l'histoire de bash
  • Comment vérifier la durée de vie de la batterie sur Ubuntu
  • Linux Apache n'exécute pas les fichiers PHP: solution
  • Comment installer PHP sur Ubuntu Linux
  • Comment créer une pile de lampe basée sur Docker à l'aide de Docker sur…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment tester la connexion Internet sur Linux
  • Comment créer phpinfo.page PHP
  • Comment effacer le cache Firefox sur Linux
  • Installation de WordPress OpenLitesPeed