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.