CakePHP - это широко используемый фреймворк с открытым исходным кодом для веб-разработки, следующий архитектурному паттерну MVC. Он пользуется высокой популярностью в сообществе PHP и предлагает множество функций и инструментов для создания веб-приложений.
Это руководство успешно прошло тестирование в версии 3.8
CakePHP. Однако оно также применимо к более ранним версиям фреймворка.
Используйте PHP Composer:
composer require shieldon/shieldon
Это также установит зависимости, необходимые для Shieldon:
Шаги 1 и 2 применяются к одному и тому же файлу, расположенному в /config/route.php
.
Как шаг 1, так и шаг 2 включают в себя модификацию одного и того же файла, расположенного в /config/routes.php
. Поэтому вам нужно выполнить следующие действия в этом файле:
/config/routes.php
./config/routes.php
.Следуя этим шагам, вы убедитесь, что обе модификации внесены в соответствующий файл.
Для CakePHP доступен Middleware здесь. Просто зарегистрируйте его в вашем приложении.
Пример:
/**
* Применить брандмауэр Shieldon к текущему маршруту.
*/
$routes->registerMiddleware(
'firewall',
new \Shieldon\Firewall\Integration\CakePhp()
);
$routes->applyMiddleware('firewall');
Пример:
/**
* Определите маршрут для панели брандмауэра.
*/
$routes->connect('/firewall/panel/', [
'controller' => 'FirewallPanel',
'action' => 'entry'
]);
Создайте контроллер с именем FirewallPanelController
и добавьте в него следующий код.
Пример:
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
exit;
Если у вас включена защита от CSRF, добавьте эти строки:
Пример:
$panel->csrf(
'_csrfToken',
$this->request->getParam('_csrfToken')
);
Полный пример будет выглядеть следующим образом:
Пример:
<?php
namespace App\Controller;
class FirewallPanelController extends AppController
{
/**
* Это вход в нашу панель брандмауэра.
*/
public function entry()
{
// Перейдите в панель брандмауэра.
$panel = new \Shieldon\Firewall\Panel();
$panel->csrf([
'_csrfToken' => $this->request->getParam('_csrfToken')
]);
$panel->entry();
exit;
}
}
Вот и всё.
Вы можете получить доступ к панели брандмауэра по адресу /firewall/panel
. Чтобы просмотреть страницу, откройте этот URL в вашем браузере.
https://for.example.com/firewall/panel
Логин по умолчанию - shieldon_user
, пароль - shieldon_pass
. После входа в панель брандмауэра первым делом следует изменить логин и пароль.
Если в настройках "Демона" включен брандмауэр Shieldon, он начнет отслеживать ваш веб-сайт. Убедитесь, что вы настроили параметры правильно.