Fuel

FuelPHP ist ein einfaches, flexibles und communitygesteuertes PHP-Webframework.

Firewall in Fuel Framework

Installation

Verwenden Sie PHP Composer:

composer require shieldon/shieldon

Dies installiert auch die für Shieldon erforderlichen Abhängigkeiten:

  • shieldon/psr-http Die PSR-7-, 15-, 17-Implementierung mit vollständiger Dokumentation und umfangreichen Tests.
  • shieldon/event-dispatcher Der einfachste Event-Dispatcher.
  • shieldon/web-security Eine Sammlung von Funktionen im Zusammenhang mit Web-Sicherheit.
  • shieldon/messenger Eine Sammlung von Modulen zum Senden von Nachrichten an APIs oder Dienste von Drittanbietern wie Telegram, Line, RocketChat, Slack, SendGrid, MailGun und mehr.

Implementierung

Schritte

1. Vor der Initialisierung des Kerns

In Ihrer Datei fuel/app/bootstrap.php, nach dieser Zeile:

require COREPATH.'bootstrap.php';

fügen Sie den folgenden Code hinzu:

Beispiel:

/*
|--------------------------------------------------------------------------
| Shieldon Firewall ausführen
|--------------------------------------------------------------------------
|
| Der Shieldon Firewall überwacht alle HTTP-Anfragen an Ihre Website.
|
*/
if (isset($_SERVER['REQUEST_URI'])) {

    // Dieses Verzeichnis muss beschreibbar sein.
    // Wir legen es im Verzeichnis `fuel/app/tmp` ab.
    $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);
    }
}

Bitte stellen Sie sicher, dass das $storage-Verzeichnis existiert und beschreibbar ist.

2. Eine Route für das Firewall-Panel definieren

Ändern Sie nun Ihre Datei fuel/app/config/routes.php und fügen Sie den folgenden Code hinzu:

Beispiel:

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

Das vollständige Beispiel könnte wie folgt aussehen:

Beispiel:

return array(
    '_root_'  => 'welcome/index',  // Die Standardroute
    '_404_'   => 'welcome/404',    // Die Haupt-404-Route

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

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

Das war's.

Kontrollpanel

Sie können auf das Firewall-Panel unter /firewall/panel zugreifen. Um die Seite anzuzeigen, öffnen Sie diese URL in Ihrem Browser:

https://yoursite.com/firewall/panel

Der Standardlogin lautet shieldon_user und das Passwort ist shieldon_pass. Nach dem Einloggen in das Firewall-Panel sollten Sie als Erstes den Login und das Passwort ändern.

Wenn der Shieldon Firewall in der Einstellung Daemon aktiviert ist, überwacht er Ihre Website. Stellen Sie sicher, dass Sie die Einstellungen korrekt konfiguriert haben.