Локально по умолчанию
Оценка риска, проверка challenge и авторизация остаются внутри проекта. Внешние провайдеры могут быть опцией, но не обязательны.
2IZI Guard защищает формы и публичные действия: риск оценивается локально, нагрузка проверки адаптируется к ситуации, а окончательное разрешение выдаётся одноразовым серверным токеном. Обязательной внешней CAPTCHA нет.
Видимая проверка — лишь один слой. Guard защищает серверное действие до запуска бизнес-операции.
Оценка риска, проверка challenge и авторизация остаются внутри проекта. Внешние провайдеры могут быть опцией, но не обязательны.
Успех JavaScript не является разрешением. Защищённый endpoint проверяет и погашает Guard-токен на сервере.
Доверенный трафик может пройти незаметно. Повышенный риск может включить Proof-of-Work, удержание, ограничение частоты или отказ.
Лимиты могут учитывать сеть, Guard-сессию, аккаунт, action и глобальный трафик сайта — не только IP.
IP и браузерные сигналы не считаются личностью. Guard предпочитает короткоживущее first-party состояние и не включает агрессивный fingerprinting по умолчанию.
Risk Engine сохраняет reason codes и прогнозы Shadow Mode для настройки, не раскрывая внутреннюю оценку атакующему.
Браузер может участвовать в challenge, но разрешение на бизнес-действие всегда выдаёт и погашает сервер.
Origin, action, session и базовые лимиты проверяются до дорогих операций.
Серверные и прикладные сигналы формируют объяснимое решение по риску.
Политика выбирает PASS, Proof-of-Work, интерактивную проверку, throttle или deny.
Случайный 256-битный opaque-токен привязывается к session, action, origin и короткому TTL.
Бизнес-endpoint использует токен ровно один раз; replay, mismatch и expiry отклоняются.
2IZI Guard следует Kerckhoffs-style модели: исходники, JavaScript, API-контракт, схема БД, PoW и пороги могут быть известны. Защита должна сохраняться, потому что секреты и авторизация находятся на сервере.
Чтение реализации не должно давать обход авторизации. Публичный аудит полезен, если релизы, ключи, права репозитория и обработка уязвимостей организованы дисциплинированно.
Текущее ядро рассчитано на PHP 8.1+ и не зависит от framework на границе безопасности. Каждое action защищается явно, а токен погашается до выполнения бизнес-операции.
<script src="/guard/public/assets/guard.js" defer></script> <form data-guard-action="contact"> … </form>
$result = Guard::verifyAndConsume( $_POST['guard_token'] ?? '', 'contact' ); if (!$result->allowed()) { http_response_code(403); exit; }
Текущая ветка имеет security-first архитектуру и автоматические regression/red-team тесты. Внедрять постепенно: сначала Shadow Mode, затем настроенный enforcement на реальном трафике.
Локальный runtime. Авторизация на сервере. Публичная модель угроз. Без обязательной внешней CAPTCHA.