Este paquete tiene como objetivo proteger su aplicación Laravel de diferentes tipos de ataques, como XSS, SQLi, RFI, LFI, User Agent y muchos más. También bloqueará ataques repetidos y enviará notificaciones por correo electrónico y/o Slack cuando se detecte un ataque. Además, registrará los inicios de sesión fallidos y bloqueará la IP después de varios intentos.
Nota: Algunas clases de middleware (es decir, Xss) están vacías ya que la clase abstracta Middleware
que extienden hace todo el trabajo de forma dinámica. En resumen, todos funcionan ;)
Ejecute el siguiente comando:
el compositor requiere akaunting/laravel-firewall
Publicar configuración, idioma y migraciones.
Proveedor artesanal de php: publicar --tag = firewall
crear tablas de base de datos
php migración artesanal
Puede cambiar la configuración del firewall de su aplicación desde el archivo config/firewall.php
Los middlewares ya están definidos, por lo que basta con agregarlos a las rutas. El middleware firewall.all
aplica todos los middlewares disponibles en la matriz all_middleware
del archivo de configuración.
Ruta::grupo(['middleware' => 'firewall.all'], función () { Ruta::get('/', 'HomeController@index'); });
Puede aplicar cada middleware por ruta. Por ejemplo, puedes permitir que solo las IP incluidas en la lista blanca accedan al administrador:
Ruta::grupo(['middleware' => 'firewall.whitelist'], función () { Ruta::get('/admin', 'AdminController@index'); });
O puede recibir una notificación cuando alguien que NO esté en whitelist
acceda al administrador, agregándolo a la configuración inspections
:
Ruta::grupo(['middleware' => 'firewall.url'], función () { Ruta::get('/admin', 'AdminController@index'); });
Middlewares disponibles aplicables a rutas:
firewall.todo agente.firewall firewall.bot firewall.geo firewall.ip firewall.lfi firewall.php firewall.referrer firewall.rfi sesión.firewall firewall.sqli cortafuegos.juro firewall.url firewall.lista blanca firewall.xss
También puede definir routes
para cada middleware en config/firewall.php
y aplicar ese middleware o firewall.all
en la parte superior de todas las rutas.
El firewall enviará una notificación tan pronto como se detecte un ataque. Los correos electrónicos ingresados en notifications.email.to
config deben ser usuarios válidos de Laravel para poder enviar notificaciones. Consulte la documentación de Notificaciones de Laravel para obtener más información.
Consulte Lanzamientos para obtener más información sobre los cambios recientes.
Las solicitudes de extracción son más que bienvenidas. Debe seguir los estándares de codificación PSR.
Revise nuestra política de seguridad sobre cómo informar vulnerabilidades de seguridad.
Denis Duliçi
Todos los contribuyentes
La Licencia MIT (MIT). Consulte LICENCIA para obtener más información.