<?php
// /admin/login.php - ЗАЩИЩЕННАЯ ВЕРСИЯ
session_start();
$config = require __DIR__ . '/../config.php';

// Инициализация счетчика попыток
if (!isset($_SESSION['login_attempts'])) {
    $_SESSION['login_attempts'] = 0;
    $_SESSION['last_attempt'] = 0;
}

// Проверка блокировки
if ($_SESSION['login_attempts'] >= $config['max_login_attempts'] && 
    time() - $_SESSION['last_attempt'] < $config['lockout_time']) {
    $remaining = $config['lockout_time'] - (time() - $_SESSION['last_attempt']);
    $error = "Слишком много попыток. Попробуйте через " . ceil($remaining/60) . " минут.";
}

// Обработка входа
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !isset($error)) {
    $_SESSION['last_attempt'] = time();
    
    if (password_verify($_POST['password'] ?? '', $config['admin_password_hash'])) {
        $_SESSION['admin_logged_in'] = true;
        $_SESSION['login_attempts'] = 0;
        $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
        header('Location: index.php');
        exit;
    } else {
        $_SESSION['login_attempts']++;
        $error = 'Неверный пароль. Попыток: ' . $_SESSION['login_attempts'] . '/' . $config['max_login_attempts'];
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Вход в админку</title>
    <meta charset="utf-8">
    <style>
        body { font-family: sans-serif; padding: 50px; background: #f5f5f5; }
        .login-form { max-width: 400px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        .error { background: #fee; color: #c33; padding: 10px; border-radius: 5px; margin-bottom: 15px; }
        input[type="password"] { width: 100%; padding: 12px; margin: 10px 0; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }
        button { width: 100%; padding: 12px; background: #e74c3c; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; }
        button:hover { background: #c0392b; }
    </style>
</head>
<body>
    <div class="login-form">
        <h2>🔐 Вход в административную панель</h2>
        
        <?php if (isset($error)): ?>
            <div class="error"><?= htmlspecialchars($error) ?></div>
        <?php endif; ?>
        
        <form method="POST">
            <input type="password" name="password" placeholder="Пароль" required>
            <button type="submit">Войти</button>
        </form>
    </div>
</body>
</html>