Instalar ahora'); } // Si ya está logueado, redirigir al panel if (isUserLoggedIn()) { header('Location: index.php'); exit; } $error = ''; $loginBlocked = false; $clientIp = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0'; // Verificar si la IP está bloqueada if (!checkLoginAttempts($clientIp)) { $loginBlocked = true; $error = 'Demasiados intentos de login. Inténtalo en ' . (LOGIN_LOCKOUT_TIME / 60) . ' minutos.'; } // Procesar login if ($_POST && !$loginBlocked) { $username = trim($_POST['username'] ?? ''); $password = $_POST['password'] ?? ''; if ($username === ADMIN_USERNAME) { // Verificar contraseña $adminHash = constant('ADMIN_PASSWORD'); if (password_verify($password, $adminHash)) { // Login exitoso clearLoginAttempts($clientIp); $_SESSION['admin_logged_in'] = true; $_SESSION['last_activity'] = time(); $_SESSION['login_ip'] = $clientIp; $_SESSION['login_time'] = time(); header('Location: index.php'); exit; } } // Login fallido recordFailedLogin($clientIp); $error = 'Usuario o contraseña incorrectos.'; // Verificar si se bloqueó después de este intento if (!checkLoginAttempts($clientIp)) { $loginBlocked = true; $error = 'Demasiados intentos de login. Cuenta bloqueada por ' . (LOGIN_LOCKOUT_TIME / 60) . ' minutos.'; } } ?>
Panel de Administración
Desarrollado por U-Site.app= htmlspecialchars($error) ?>
admin