Dieses Paket soll Ihre Laravel-App vor verschiedenen Arten von Angriffen wie XSS, SQLi, RFI, LFI, User Agent und vielem mehr schützen. Es blockiert auch wiederholte Angriffe und sendet Benachrichtigungen per E-Mail und/oder Slack, wenn ein Angriff erkannt wird. Darüber hinaus werden fehlgeschlagene Anmeldungen protokolliert und die IP nach mehreren Anmeldeversuchen blockiert.
Hinweis: Einige Middleware-Klassen (z. B. Xss) sind leer, da die abstrakte Middleware
Klasse, die sie erweitern, die gesamte Aufgabe dynamisch erledigt. Kurz gesagt, sie funktionieren alle ;)
Führen Sie den folgenden Befehl aus:
Komponist benötigt Akaunting/Laravel-Firewall
Veröffentlichen Sie Konfiguration, Sprache und Migrationen
PHP-Artist-Anbieter:publish --tag=firewall
Erstellen Sie Datenbanktabellen
PHP-Artist migrieren
Sie können die Firewall-Einstellungen Ihrer App über die Datei config/firewall.php
ändern
Middlewares sind bereits definiert und sollten daher einfach zu Routen hinzugefügt werden. Die Middleware firewall.all
wendet alle im Array all_middleware
der Konfigurationsdatei verfügbaren Middlewares an.
Route::group(['middleware' => 'firewall.all'], function () { Route::get('/', 'HomeController@index'); });
Sie können jede Middleware pro Route anwenden. Sie können beispielsweise nur IPs auf der Whitelist den Zugriff auf den Administrator erlauben:
Route::group(['middleware' => 'firewall.whitelist'], function () { Route::get('/admin', 'AdminController@index'); });
Sie können sich auch benachrichtigen lassen, wenn jemand NICHT auf whitelist
auf den Administratorzugriff zugreift, indem Sie dies zur inspections
hinzufügen:
Route::group(['middleware' => 'firewall.url'], function () { Route::get('/admin', 'AdminController@index'); });
Verfügbare Middlewares für Routen:
firewall.all firewall.agent firewall.bot firewall.geo firewall.ip firewall.lfi firewall.php firewall.referrer firewall.rfi firewall.session firewall.sqli Firewall.swear firewall.url firewall.whitelist firewall.xss
Sie können auch routes
für jede Middleware in config/firewall.php
definieren und diese Middleware oder firewall.all
oben auf allen Routen anwenden.
Die Firewall sendet eine Benachrichtigung, sobald ein Angriff erkannt wurde. E-Mails, die in der Konfiguration notifications.email.to
eingegeben werden, müssen gültige Laravel-Benutzer sein, um Benachrichtigungen senden zu können. Weitere Informationen finden Sie in der Benachrichtigungsdokumentation von Laravel.
Weitere Informationen zu den kürzlichen Änderungen finden Sie unter Veröffentlichungen.
Pull-Anfragen sind mehr als willkommen. Sie müssen die PSR-Codierungsstandards befolgen.
Bitte lesen Sie unsere Sicherheitsrichtlinie zum Melden von Sicherheitslücken.
Denis Duliçi
Alle Mitwirkenden
Die MIT-Lizenz (MIT). Weitere Informationen finden Sie unter LIZENZ.