laravel firewall
2.2.0
該軟體包旨在保護您的 Laravel 應用程式免受不同類型的攻擊,例如 XSS、SQLi、RFI、LFI、用戶代理程式等等。它還將阻止重複攻擊,並在檢測到攻擊時透過電子郵件和/或 slack 發送通知。此外,它還會記錄失敗的登錄,並在多次嘗試後封鎖 IP。
注意:有些中間件類別(即 Xss)是空的,因為它們擴展的Middleware
抽象類別動態地完成了所有工作。簡而言之,它們都有效;)
運行以下命令:
作曲家需要 akaunting/laravel-firewall
發布配置、語言和遷移
php artisan 供應商:發布 --tag=防火牆
建立資料庫表
php 工匠遷移
您可以從config/firewall.php
檔案更改應用程式的防火牆設置
中間件已經定義,因此只需將它們新增至路由即可。 firewall.all
中間件應用程式設定檔的all_middleware
陣列中可用的所有中間件。
路線::組(['中間件' => 'firewall.all'], function () { 路線::get('/', 'HomeController@index'); });
您可以為每個路由套用每個中間件。例如,您可以只允許列入白名單的 IP 存取管理員:
路由::group(['中間件' => 'firewall.whitelist'], function () { 路線::get('/admin', 'AdminController@index'); });
或者,當任何不在whitelist
中的人訪問管理員時,您可以透過將其新增至inspections
配置來收到通知:
路由::group(['中間件' => 'firewall.url'], function () { 路線::get('/admin', 'AdminController@index'); });
適用於路由的可用中間件:
防火牆.all 防火牆代理 防火牆機器人 防火牆.geo 防火牆IP 防火牆.lfi 防火牆.php 防火牆.referrer 防火牆.rfi 防火牆.會話 防火牆.sqli 防火牆.swear 防火牆地址 防火牆白名單 防火牆.xss
您也可以在config/firewall.php
中為每個中間件定義routes
,並在所有路由的頂部套用該中間件或firewall.all
。
一旦偵測到攻擊,防火牆將立即發送通知。在notifications.email.to
配置中輸入的電子郵件必須是有效的 Laravel 使用者才能發送通知。查看 Laravel 的通知文件以獲取更多資訊。
請參閱版本以獲取有關最近更改內容的更多資訊。
拉取請求非常受歡迎。您必須遵循 PSR 編碼標準。
請查看我們的安全政策,以了解如何通報安全漏洞。
丹尼斯杜利西
所有貢獻者
麻省理工學院許可證 (MIT)。請參閱許可證以了解更多資訊。