volistx / lumen-rate-limiting
Laravel ThrottleRequests 中间件的 Lumen 版本
1.1.0
2022-02-17 20:08 UTC
Requires
- laravel/lumen-framework: ^8.0|^9.0
Requires (Dev)
- phpunit/phpunit: ^8.0|^9.0
This package is not auto-updated.
Last update: 2022-10-14 21:53:03 UTC
README
关于
此包包含 Laravel 的 ThrottleRequests 中间件 的 Lumen 版本
安装
- 在您的 Lumen 应用程序中要求此包
composer require rogervila/lumen-rate-limiting
- 确保在
bootstrap/app.php
中取消注释AppServiceProvider
和AuthServiceProvider
$app->register(App\Providers\AppServiceProvider::class); $app->register(App\Providers\AuthServiceProvider::class);
- 在
AppServiceProvider
的boot
方法上配置速率限制器
/** * Configure global rate limiter * * @return void */ public function boot() { app(\Illuminate\Cache\RateLimiter::class)->for('global', function () { return \Illuminate\Cache\RateLimiting\Limit::perMinute(60)->by(request()->ip()); }); }
- 在
bootstrap/app.php
上注册中间件
$app->routeMiddleware([ 'throttle' => \LumenRateLimiting\ThrottleRequests::class, ]);
- 在
bootstrap/app.php
上将中间件添加到全局路由组
$app->router->group([ 'namespace' => 'App\Http\Controllers', 'middleware' => 'throttle:global', ], function ($router) { require __DIR__ . '/../routes/web.php'; });
中间件可以放置在特定路由上,而不是全局,具体请参考 官方文档。
许可证
此项目是开源软件,遵循 MIT 许可。