Hashage et sallage des MDPs (fonctionnel)

This commit is contained in:
Esteban
2026-06-08 13:04:54 +02:00
parent ad4424571d
commit b2aefe3af5
4 changed files with 23 additions and 28 deletions
+12 -19
View File
@@ -14,39 +14,30 @@ if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
exit;
}
// On récupère les champs envoyé par le post et on les nettoie
$username = trim($_POST['id'] ?? '');
$password = trim($_POST['passwd'] ?? '');
$username = trim($_POST['username'] ?? '');
$password = $_POST['password'] ?? '';
// Si les champs sont vides on renvoie vers Login.php : Prévoir dans le futur une erreur
if (empty($username) || empty($password)) {
header('Location: ./../pages/login.php');
exit;
}
// On regarde si l'utilisateur est dans la base de donnée sinon ça ne sert a rien de traiter
try {
$stmt = $dbh->prepare('SELECT id, username, password, role FROM users WHERE username = :username LIMIT 1');
$stmt->execute([':username' => $username]);
$user = $stmt->fetch();
} catch (PDOException $e) {
error_log('Erreur sql dans la requête : ' . $e->getMessage());
header('Location: ./../pages/login.php');
exit;
}
// On regarde si le mdp correspond à celui en bdd
if (!$user || $user['password'] !== $password) {
if (!$user || !password_verify($password, $user['password'])) {
header('Location: ./../pages/login.php');
exit;
}
// Si la connexion est ok, on entregistre l'utilisateur dans $_SESSION
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
$_SESSION['role'] = $user['role'];
$_SESSION['role'] = $user['role'];
// Date de connexion mise à jour
try {
$stmt = $dbh->prepare('UPDATE users SET last_login = NOW() WHERE id = :id');
@@ -54,6 +45,8 @@ try {
} catch (PDOException $e) {
error_log('Le serveur WEB ne peut pas modifier la date de dernière connexion : ' . $e->getMessage());
}
//Redirection vers home.php puisque que l'utilisateur est forcément connecté
header('Location: ./../pages/home.php');
header('Location: ./../pages/home.php');
exit;
?>