Neste guia, fornecerei algumas ideias sobre como implementar o Firewall Shieldon em sua aplicação Yii.
Use o PHP Composer:
composer require shieldon/shieldon
Isso também instalará as dependências necessárias para o Shieldon:
No seu arquivo public/index.php
, antes desta linha:
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
Adicione o seguinte código:
Exemplo:
/*
|--------------------------------------------------------------------------
| Executar o Firewall Shieldon
|--------------------------------------------------------------------------
|
| O Firewall Shieldon irá monitorar todas as requisições HTTP que chegam ao seu website.
| Executar o Firewall Shieldon antes de inicializar o Yii irá evitar possíveis conflitos com as funções internas do Yii.
*/
if (isset($_SERVER['REQUEST_URI'])) {
$storage = __DIR__ . '/../runtime/shieldon';
$firewall = new \Shieldon\Firewall\Firewall();
$firewall->configure($storage);
// A URL base para o painel de controle.
$firewall->controlPanel('/firewall/panel/');
$response = $firewall->run();
if ($response->getStatusCode() !== 200) {
$httpResolver = new \Shieldon\Firewall\HttpResolver();
$httpResolver($response);
}
}
Crie um controlador chamado FirewallPanelController
.
Exemplo:
<?php
namespace app\controllers;
use yii\web\Controller;
class FirewallController extends Controller
{
public function beforeAction($action)
{
$this->enableCsrfValidation = false;
return parent::beforeAction($action);
}
/**
* O ponto de entrada do Painel do Firewall.
*
* @return string
*/
public function actionPanel()
{
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
}
}
Certifique-se de que enablePrettyUrl
esteja definido como true no seu arquivo config/web.php
.
Exemplo:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'firewall/panel/' => 'firewall/panel',
'firewall/panel/<slug:.*>' => 'firewall/panel',
],
],
Isso é tudo.
Você pode acessar o Painel do Firewall visitando /firewall-panel
no seu navegador.
https://seusite.com/firewall-panel
O login padrão é shieldon_user
e a senha é shieldon_pass
. Após fazer login no Painel do Firewall, a primeira coisa que você deve fazer é alterar o login e a senha.
Se o Firewall Shieldon estiver ativado na seção de configuração Daemon
, ele começará a monitorar o seu website. Certifique-se de ter configurado corretamente as configurações.