编程

[Laravel 扩展包]使用 Abuse IP 包为 Laravel 应用屏蔽已知的垃圾 IP

200 2024-09-03 02:21:00

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 上查看源代码