CakePHP ist ein weit verbreitetes Open-Source-Webframework, das dem MVC-Architekturmuster folgt. Es genießt einen hohen Ruf in der PHP-Community und bietet eine Vielzahl von Funktionen und Tools zur Entwicklung von Webanwendungen.
Dieser Leitfaden wurde erfolgreich in der Version 3.8
von CakePHP getestet. Er ist jedoch auch auf ältere Versionen des Frameworks anwendbar.
Verwenden Sie PHP Composer:
composer require shieldon/shieldon
Dies installiert auch die für Shieldon erforderlichen Abhängigkeiten:
Schritt 1 und Schritt 2 werden auf derselben Datei angewendet, die sich unter /config/route.php
befindet.
Sowohl Schritt 1 als auch Schritt 2 beinhalten Änderungen an derselben Datei, die sich unter /config/routes.php
befindet. Führen Sie daher die folgenden Schritte in dieser Datei aus:
/config/routes.php
./config/routes.php
.Durch Befolgen dieser Schritte stellen Sie sicher, dass beide Änderungen in der richtigen Datei vorgenommen werden.
Eine Middleware für CakePHP finden Sie hier. Registrieren Sie sie einfach in Ihrer Anwendung.
Beispiel:
/**
* Shieldon Firewall auf den aktuellen Routenbereich anwenden.
*/
$routes->registerMiddleware(
'firewall',
new \Shieldon\Firewall\Integration\CakePhp()
);
$routes->applyMiddleware('firewall');
Beispiel:
/**
* Die Route für das Firewall-Panel definieren.
*/
$routes->connect('/firewall/panel/', [
'controller' => 'FirewallPanel',
'action' => 'entry'
]);
Erstellen Sie einen Controller namens FirewallPanelController
und fügen Sie den folgenden Code hinzu.
Beispiel:
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
exit;
Fügen Sie diese Zeilen hinzu, wenn CSRF aktiviert ist:
Beispiel:
$panel->csrf(
'_csrfToken',
$this->request->getParam('_csrfToken')
);
Das vollständige Beispiel sieht wie folgt aus:
Beispiel:
<?php
namespace App\Controller;
class FirewallPanelController extends AppController
{
/**
* Dies ist der Einstiegspunkt unseres Firewall-Panels.
*/
public function entry()
{
// Firewall-Panel aufrufen.
$panel = new \Shieldon\Firewall\Panel();
$panel->csrf([
'_csrfToken' => $this->request->getParam('_csrfToken')
]);
$panel->entry();
exit;
}
}
Das war's.
Sie können auf das Firewall-Panel unter /firewall/panel
zugreifen. Öffnen Sie diese URL in Ihrem Browser, um die Seite anzuzeigen.
https://for.example.com/firewall/panel
Der Standard-Login ist shieldon_user
und das Passwort ist shieldon_pass
. Nachdem Sie sich im Firewall-Panel angemeldet haben, sollten Sie als Erstes den Login und das Passwort ändern.
Wenn die Shieldon Firewall in den Einstellungen für den Daemon
aktiviert ist, beginnt sie mit der Überwachung Ihrer Website. Stellen Sie sicher, dass Sie die Einstellungen korrekt konfiguriert haben.