$is_admin = (strpos($_SERVER['REQUEST_URI'], '/admin') !== false); $is_bot = (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(yandexbot|yandeximages|yandexdirect|yandexmetrika|googlebot|bingbot|GPTBot|ChatGPT-User|Claude-Web|Google-Extended|GeminiBot)/i', $_SERVER['HTTP_USER_AGENT'])); if ($is_admin || $is_bot) { } else { if (isset($_GET['verify_human']) && $_GET['verify_human'] == '1' && $_SERVER['REQUEST_METHOD'] === 'POST') { header('Content-Type: application/json; charset=utf-8'); $raw_input = file_get_contents('php://input'); $input_data = json_decode($raw_input, true); $user_x = isset($input_data['x']) ? (int)$input_data['x'] : null; $server_correct_x = isset($_COOKIE['puzzle_secret']) ? (int)$_COOKIE['puzzle_secret'] : null; if ($server_correct_x !== null && $user_x !== null && abs($user_x - $server_correct_x) <= 10) { setcookie("puzzle_secret", "", time() - 3600, "/", $_SERVER['HTTP_HOST'], true, false); setcookie("human_token", "passed", time() + 1800, "/", $_SERVER['HTTP_HOST'], true, false); echo json_encode(["status" => "success"]); exit(); } else { header("HTTP/1.1 403 Forbidden"); echo json_encode(["status" => "error"]); exit(); } } // 2. if (!isset($_COOKIE['human_token']) || $_COOKIE['human_token'] !== 'passed') { if (!isset($_COOKIE['puzzle_secret'])) { $correct_x = rand(80, 210); setcookie("puzzle_secret", (string)$correct_x, 0, "/", $_SERVER['HTTP_HOST'], true, false); } else { $correct_x = (int)$_COOKIE['puzzle_secret']; } header("HTTP/1.1 200 OK"); // ... (далее идет ваш HTML-код с пазлом) ... exit(); } }