[Laravel 扩展包]使用 Abuse IP 包为 Laravel 应用屏蔽已知的垃圾 IP
Laravel Abuse IP 包为 Laravel 应用添加了一层保护,使其免受已知垃圾 IP 的攻击。此包提供了一个 Artisan 命令,用于使你的 IP 列表与 Aggregated AbuseIPDB 黑名单和中间件保持同步,以根据列表检查请求。
要开始使用此软件包,你需要同步 IP 的黑名单文件。如果在多台服务器上运行应用,则需要中心和存储驱动,或者需要在每台服务器上同步和存储 IP 列表数据。
接下来,包的 AbuseIp
中间件将根据黑名单检查请求,以防止列表上的 IP 访问你的应用。要配置此中间件,你可以将其添加到 Laravel 项目的 bootstrap/app.php
文件中,或根据需要直接添加到路由中:
->withMiddleware(function (Middleware $middleware) {
$middleware->append(\App\Http\Middleware\AbuseIp::class);
});
// Or via an individual route (or group of routes)
Route::middleware(AbuseIp::class)->get('/', function () {
return view('welcome');
});
AbuseIPDB 列表每天更新多次,因此你还需要对黑名单(然后缓存)进行定期更新,以便每天运行:
$schedule->command('abuseip:update')->daily();
你可以通过软件包的配置自由更新 IP 黑名单源。你可以了解有关此软件包的更多信息,获取完整的安装说明,并在 GitHub 上查看源代码。