Code pin_failed_admin.php
Depuis votre terminal, connectez-vous a votre Raspberry PI et rentrez la commande suivante pour créer le fichier Code pin_failed_admin.php.
sudo nano /var/www/html/Code pin_failed_admin.php
Copier le code suivant et coller le dans le fichier qui vient de s'ouvrir.
<?php
session_start();
header('Content-Type: application/json');
const MAX_ATTEMPTS = 3;
const BLACKLIST_FILE = '/var/www/html/data/ip_blacklist.json';
// Logique d'incrémentation et de vérification
if (!isset($_SESSION['pin_attempts_admin'])) {
$_SESSION['pin_attempts_admin'] = 0;
}
$_SESSION['pin_attempts_admin']++;
$attempts_left = MAX_ATTEMPTS - $_SESSION['pin_attempts_admin'];
if ($attempts_left <= 0) {
// Bloquer l'IP
$client_ip = $_SERVER['REMOTE_ADDR'];
$blacklist = json_decode(file_get_contents(BLACKLIST_FILE), true) ?: [];
$blacklist[$client_ip] = ['blocked_time' => date('Y-m-d H:i:s'), 'reason' => 'Tentatives de PIN dépassées (ADMIN)'];
file_put_contents(BLACKLIST_FILE, json_encode($blacklist, JSON_PRETTY_PRINT));
session_destroy();
echo json_encode(['status' => 'blocked']);
} else {
echo json_encode(['status' => 'failed', 'attempts_left' => $attempts_left]);
}
?>