Aller au contenu
Miraat·dweb developer journey, reflected

Authentification : sessions et bcrypt

Login email + mot de passe bien fait : hashing, sessions, logout, protection brute-force.

Core 30 minutes Prérequis: Routing et MVC

Hashing du mot de passe

// Inscription
$hash = password_hash($passwordInput, PASSWORD_BCRYPT, ["cost" => 12]);
// Connexion
if (password_verify($passwordInput, $userHash)) { /* ok */ }

Session

Après login, vous stockez user_id dans la session côté serveur. Le client reçoit un cookie avec l'id de session, pas les données.

À NE PAS faire

  • Stocker les mots de passe en clair ou avec MD5/SHA1.
  • Garder une session active indéfiniment.
  • Afficher « email introuvable » (révèle les comptes valides).

À faire

  • Bcrypt ou Argon2id, cost ≥ 12.
  • Cookies httponly, secure, samesite=lax.
  • Rate limit sur les tentatives.

Ressources recommandées