PHPackages                             mitisk/yii2-lightweight-waf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mitisk/yii2-lightweight-waf

ActiveLibrary

mitisk/yii2-lightweight-waf
===========================

Lightweight WAF for Yii2 to protect against vulnerability scanners natively before framework initialization.

v1.0(2mo ago)11MITPHPPHP &gt;=7.4.0

Since Mar 13Pushed 1mo agoCompare

[ Source](https://github.com/Mitisk/yii2-lightweight-waf)[ Packagist](https://packagist.org/packages/mitisk/yii2-lightweight-waf)[ RSS](/packages/mitisk-yii2-lightweight-waf/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)DependenciesVersions (2)Used By (0)

Yii2 Lightweight WAF
====================

[](#yii2-lightweight-waf)

[![Latest Stable Version](https://camo.githubusercontent.com/f46786426c6583acc309d28d4e90847bb6767ddc9081971e5e16b08b6b97083d/68747470733a2f2f706f7365722e707567782e6f72672f6d697469736b2f796969322d6c696768747765696768742d7761662f762f737461626c65)](https://packagist.org/packages/mitisk/yii2-lightweight-waf)[![Total Downloads](https://camo.githubusercontent.com/333a96448f4b05f06dd96abe773c587a0c3e63f96413ba3db5b840d076f4ee18/68747470733a2f2f706f7365722e707567782e6f72672f6d697469736b2f796969322d6c696768747765696768742d7761662f646f776e6c6f616473)](https://packagist.org/packages/mitisk/yii2-lightweight-waf)[![License](https://camo.githubusercontent.com/394ddad727fdc105f4f846a6db98ecc8eb47b0e101f2ddf7a76149270299c981/68747470733a2f2f706f7365722e707567782e6f72672f6d697469736b2f796969322d6c696768747765696768742d7761662f6c6963656e7365)](https://packagist.org/packages/mitisk/yii2-lightweight-waf)[![PHP Version](https://camo.githubusercontent.com/a9a673c6648b0fbb36f97625f07a90ba57f3ab27bf02d1a1fb4d03eb9192e230/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d697469736b2f796969322d6c696768747765696768742d776166)](https://packagist.org/packages/mitisk/yii2-lightweight-waf)[![GitHub Issues](https://camo.githubusercontent.com/9d3b36655c9f0bf065c90c1f7ef1c7b884ee9e0922d360e38d1fad27d1efd65d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f4d697469736b2f796969322d6c696768747765696768742d776166)](https://github.com/Mitisk/yii2-lightweight-waf/issues)[![GitHub Stars](https://camo.githubusercontent.com/786f82cea8dff494ad3c4b53665b4e888dc133583ddb78dc12f0b3f7e8aa672b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f4d697469736b2f796969322d6c696768747765696768742d776166)](https://github.com/Mitisk/yii2-lightweight-waf)

Легковесный Web Application Firewall (WAF) для защиты проектов на Yii2 от ботов и сканеров уязвимостей (dirsearch, wp-scanners и прочих).

Этот скрипт запускается до инициализации тяжелого ядра Yii2. Это позволяет отбивать запросы злоумышленников за долю секунды, не нагружая БД и экономя оперативную память сервера.

Особенности
-----------

[](#особенности)

- **Ранний запуск:** Интегрируется напрямую в `index.php` (до загрузки ядра Yii2).
- **Файловый кэш блокировок:** Заблокированные IP хранятся в файлов кеше, что увеличивает производительность ответа во время агрессивного сканирования.
- **Поддержка Google reCAPTCHA v2:** Злоумышленник (или реальный пользователь, случайно попавший в список) получает заглушку с каптчей для разблокировки адреса.
- **Автоочистка:** Старые файлы блокировок (старше 2 дней) автоматически удаляются.
- **Защита от IP-спуфинга:** По умолчанию используется только `REMOTE_ADDR`, доверенные заголовки настраиваются явно.

Установка
---------

[](#установка)

Подключите пакет через Composer:

```
composer require mitisk/yii2-lightweight-waf
```

> **Совет:** Если пакет еще не опубликован на Packagist, вы можете установить его локально, указав репозиторий в вашем `composer.json`.

Конфигурация и использование
----------------------------

[](#конфигурация-и-использование)

Откройте ваш основной файл точки входа `web/index.php`. Вам нужно добавить инициализацию WAF **после** загрузки автолоадера composer, но **до** инициализации Yii2.

Пример интеграции в `web/index.php`:

```
