Trop de tentatives de connexion. Réessayez dans ' . ceil($remaining_time / 60) . ' minutes.';
} else {
// Traitement du formulaire de connexion
if ($_POST && isset($_POST['username']) && isset($_POST['userPassword']) && isset($_POST['csrf_token'])) {
// Vérifier le token CSRF
if (!verifyCSRFToken($_POST['csrf_token'])) {
$msg = 'Token de sécurité invalide. Veuillez réessayer.';
} else {
$username = sanitizeInput($_POST['username']);
$password = $_POST['userPassword'];
// Vérifier les identifiants
if ($username === ADMIN_USERNAME && password_verify($password, ADMIN_PASSWORD_HASH)) {
// Connexion réussie
session_regenerate_id(true);
$_SESSION['connected'] = true;
$_SESSION['username'] = $username;
$_SESSION['last_activity'] = time();
// Supprimer les tentatives de connexion en cas de succès
recordLoginAttempt($client_ip, true);
$msg = 'Connexion réussie !
Accéder à l\'administration';
} else {
// Connexion échouée
recordLoginAttempt($client_ip, false);
$msg = 'Identifiants incorrects.';
// Ajouter un délai pour ralentir les attaques par force brute
sleep(2);
}
}
}
}
?>