Gérer l'authentification
Pour gérer l'authentification en PHP on va principalement faire appel à deux notions techniques : le chiffrage et la gestion des sessions.
Les sessions en PHP
En PHP, une session, c'est une superglobale, initialisée par le serveur, personnelle à un utilisateur et qui persiste même lorsque l'on recharge les pages. C'est particulièrement pratique pour sauvegarder des données utilisateurs (ou également pour se faciliter la vie quand on code un site dont vous êtes le héros).
Démarrer une session
Pour démarrer une session, PHP vous fournit une méthode :
Je vous recommande de la placer tout en haut de votre index.php.
Écrire dans la session
Pour écrire dans la session, vous allez utiliser la superglobale $_SESSION. Imaginons que vous voulez stocker le nom de l'utilisateur qui vient de se connecter :
Lire dans la session
Et si vous souhaitez lire dans la session, il faut simplement lire la variable présente dans la superglobale :
Chiffrer et vérifier des mots de passe
PHP vous fournit deux fonctions qui permettent de chiffrer et vérifier des mots de passe respectivement.
Chiffrer un mot de passe
Pour chiffrer un mot de passe, utilisez password_hash, l'alogorithme de chiffrement par défaut est bcrypt ce qui est tout à fait raisonnable en termes de robustesse.
Verifier un mot de passe
Pour vérifier si un mot de passe chiffré correspond bien à un mot de passe en clair, utilisez password_verify: