Fat-Free

Ao contrário de outros frameworks, o Fat-Free é um framework PHP extremamente leve.

Firewall no Framework Fat-Free

Instalação

Utilize o PHP Composer:

composer require shieldon/shieldon

Isso também irá instalar as dependências necessárias para o Shieldon:

  • shieldon/psr-http A implementação PSR-7, 15, 17 com documentação completa e extensos testes.
  • shieldon/event-dispatcher O despachante de eventos mais simples.
  • shieldon/web-security Uma coleção de funções relacionadas à segurança web.
  • shieldon/messenger Uma coleção de módulos para envio de mensagens para APIs ou serviços de terceiros, como Telegram, Line, RocketChat, Slack, SendGrid, MailGun e muito mais.

Implementação

Assumindo que o seu código deve ser assim:

<?php

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

$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo 'Olá, mundo!';
    }
);
$f3->run();

Passos

1. Inicializando o Firewall Shieldon

Após esta linha:

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

Adicione o seguinte código:

Exemplo:

// Evite erros ao executar em ambiente CLI.
if (isset($_SERVER['REQUEST_URI'])) {

    // Este diretório deve ter permissão de escrita.
    $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);
    }
}

Observação:

Por favor, crie um diretório com permissão de escrita chamado shieldon_firewall no diretório acima. O Firewall Shieldon irá armazenar os dados neste diretório.

2. Definindo uma Rota para o Painel do Firewall

Exemplo:

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

Isso é tudo!

Agora, você pode acessar o Painel do Firewall utilizando a seguinte URL:

https://seusite.com/firewall/panel

O login padrão é shieldon_user e a senha é shieldon_pass. Após fazer o login no Painel do Firewall, a primeira coisa que você deve fazer é alterar o login e a senha.

Se o Firewall Shieldon estiver habilitado na seção de configuração Daemon, ele começará a monitorar o seu website. Certifique-se de configurar corretamente as definições.