API Flags

Подробное описание параметров защиты SharkEyes API. В этом разделе представлены все флаги, их назначение и примеры применения.

Флаги защиты

SharkEyes API поддерживает настройку флагов, которые позволяют гибко управлять проверками. Флаги передаются в теле запроса (JSON) при обращении к эндпоинтам (/check). Можно использовать несколько флагов одновременно.

Список флагов

API SharkEyes предоставляет набор флагов для гибкой настройки системы защиты. С их помощью можно управлять проверкой запросов, определять уровень риска и применять индивидуальные правила безопасности.

curl_block:(bool) Блокировка запросов, сделанных через curl.

empty_ua: (bool) Блокировка запросов без User-Agent.

check_user_browsers: (bool) Проверка, что запрос выполнен реальным браузером.

suspicious_user_agent: (bool) Блокировка подозрительных или запрещённых User-Agent.

header_pattern_block: (bool) Блокировка по паттернам в HTTP-заголовках

suspicious_header: (bool) Блокировка при обнаружении подозрительных заголовков

high_frequency_payload: (bool) Блокировка запросов с очень большим телом или большим количеством параметров (анти-брутфорс).

post_only: (bool) Разрешать только POST-запросы

get_only: (bool) Разрешать только GET-запросы.

bad_methods: (bool) Блокировка некорректных/опасных методов (PUT, DELETE, и др.)

fight_mode: (bool) Усиленный режим защиты (агрессивная фильтрация).

under_attack: (bool) Режим «под атакой» — активируется строгая проверка.

policy_manager:(bool) Автоматический выбор правил защиты (динамическая настройка).

Пример использования

Запрос

ip = request.META.get("HTTP_X_FORWARDED_FOR", "").split(",")[0].strip() or request.META.get("REMOTE_ADDR", "Unknown") url = f"{ML_API_URL}?chat_id=1234567891&ip={ip}" headers = { "X-Forwarded-For": ip, "User-Agent": request.META.get("HTTP_USER_AGENT", "Unknown") } # Передаём флаги защиты flags = { "block_curl": True, } response = requests.post(url, headers=headers, timeout=1, json=flags) data = response.json() return data.get("status") == "allowed", data.get("ray_id"), data.get("reason")

Ответ

{ "status": "blocked", "ray_id": "abc123xyz", "reason": "Suspicious User-Agent + High IP Risk" }

Рекомендации

Флаги можно комбинировать для усиленной защиты

Используйте fight_mode и under_attack только во время атак, так как они могут блокировать часть легитимного трафика.

policy_manager рекомендуется для динамической защиты без ручной настройки.