Fuel

FuelPHP è un framework PHP semplice, flessibile e sviluppato dalla comunità.

Firewall nel framework Fuel

Installazione

Utilizzare PHP Composer:

composer require shieldon/shieldon

Questo installerà anche le dipendenze necessarie per Shieldon:

  • shieldon/psr-http L'implementazione PSR-7, 15, 17 con documentazione completa e test approfonditi.
  • shieldon/event-dispatcher Il dispatcher di eventi più semplice.
  • shieldon/web-security Una collezione di funzioni legate alla sicurezza web.
  • shieldon/messenger Una collezione di moduli per l'invio di messaggi a API o servizi di terze parti, come Telegram, Line, RocketChat, Slack, SendGrid, MailGun e altro ancora.

Implementazione

Passaggi

1. Prima dell'inizializzazione del core

Nel file fuel/app/bootstrap.php, dopo questa riga:

require COREPATH.'bootstrap.php';

Aggiungere il seguente codice:

Esempio:

/*
|--------------------------------------------------------------------------
| Esegui il firewall Shieldon
|--------------------------------------------------------------------------
|
| Il firewall Shieldon monitorerà tutte le richieste HTTP che arrivano al tuo sito web.
|
*/
if (isset($_SERVER['REQUEST_URI'])) {

    // Questa directory deve essere scrivibile.
    // La mettiamo nella directory `fuel/app/tmp`.
    $storage = __DIR__ . '/tmp/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);
    }
}

Assicurarsi che la directory $storage esista ed sia scrivibile.

2. Definire un percorso per il pannello di controllo del firewall

Ora, modificare il file fuel/app/config/routes.php e aggiungere il seguente codice:

Esempio:

'firewall/panel(:everything)' => function () {
    $panel = new \Shieldon\Firewall\Panel();
    $panel->entry();
},

L'esempio completo potrebbe apparire così:

Esempio:

return array(
    '_root_'  => 'welcome/index',  // Percorso predefinito
    '_404_'   => 'welcome/404',    // Percorso principale per gli errori 404

    'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'),

    'firewall/panel(:everything)' => function () {
        $panel = new \Shieldon\Firewall\Panel();
        $panel->entry();
    },
);

Ecco fatto.

Pannello di controllo

È possibile accedere al pannello di controllo del firewall all'indirizzo /firewall/panel. Per visualizzare la pagina, visitare questo URL nel proprio browser:

https://yoursite.com/firewall/panel

Il nome utente predefinito è shieldon_user, e la password è shieldon_pass. Dopo aver effettuato l'accesso al pannello di controllo del firewall, la prima cosa da fare è modificare il nome utente e la password.

Se il firewall Shieldon è abilitato nella sezione delle impostazioni del Daemon, inizierà a monitorare il tuo sito web. Assicurarsi di aver configurato correttamente le impostazioni.