Fat-Free

В отличие от других фреймворков, Fat-Free - это крайне легкий PHP-фреймворк.

Брандмауэр в фреймворке Fat-Free

Установка

Используйте PHP Composer:

composer require shieldon/shieldon

Это также установит зависимости, необходимые для Shieldon:

  • shieldon/psr-http Реализация PSR-7, 15, 17 с полной документацией и обширными тестами.
  • shieldon/event-dispatcher Простейший диспетчер событий.
  • shieldon/web-security Набор функций, связанных с веб-безопасностью.
  • shieldon/messenger Набор модулей для отправки сообщений в сторонние API или сервисы, такие как Telegram, Line, RocketChat, Slack, SendGrid, MailGun и другие.

Реализация

Предположим, что ваш код должен выглядеть так:

<?php

require dirname(__DIR__) . '/vendor/autoload.php';

$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo 'Привет, мир!';
    }
);
$f3->run();

Шаги

1. Инициализация брандмауэра Shieldon

После этой строки:

require dirname(__DIR__) . '/vendor/autoload.php';

Добавьте следующий код:

Пример:

// Предотвращение ошибок при запуске в среде CLI.
if (isset($_SERVER['REQUEST_URI'])) {

    // Этот каталог должен иметь права на запись.
    $storage = dirname($_SERVER['SCRIPT_FILENAME']) . '/../shieldon_firewall';

    $firewall = new \Shieldon\Firewall\Firewall();
    $firewall->configure($storage);
    $firewall->controlPanel('/firewall/panel');
    $response = $firewall->run();

    if ($response->getStatusCode() !== 200) {
        $httpResolver = new \Shieldon\Firewall\HttpResolver();
        $httpResolver($response);
    }
}

Примечание:

Пожалуйста, создайте записываемый каталог с именем shieldon_firewall в родительском каталоге. Брандмауэр Shieldon будет хранить данные в этом каталоге.

2. Определение маршрута для панели брандмауэра

Пример:

$f3->route('GET|POST /firewall/panel*', function() {
    $panel = new \Shieldon\Firewall\Panel();
    $panel->entry();
});

Вот и все!

Теперь вы можете получить доступ к панели брандмауэра по следующему URL-адресу:

https://yoursite.com/firewall/panel

Логин по умолчанию - shieldon_user, пароль - shieldon_pass. После входа в панель брандмауэра первым делом следует изменить логин и пароль.

Если брандмауэр Shieldon включен в разделе настройки Daemon, он начнет отслеживать ваш веб-сайт. Убедитесь, что вы правильно настроили параметры.