Backend PHP (BPH) Help

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 :

session_start();

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 :

$_SESSION["user"] = $user->getUsername();

Lire dans la session

Et si vous souhaitez lire dans la session, il faut simplement lire la variable présente dans la superglobale :

if(isset($_SESSION["user"])) { echo $_SESSION["user"]; }

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.

$hashedPassword = password_hash("M0nSup3rP@ssw0rd");

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:

$hashedPasword = "$2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC."; if(password_verify("rasmuslerdorf", $hashedPasword)) { // mot de passe valide } else { // mot de passe invalide }
04 December 2025