edenlife / superban
此包将为客户端在一段时间内完全禁止的能力提供支持
v1.1.1
2023-12-21 16:55 UTC
Requires
- php: ^8.1
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
概述
Superban是一个Laravel包,旨在通过提供客户端在指定时间内完全禁止的能力来增强您应用程序的速率限制功能。此包与Laravel内置的速率限制功能无缝集成,并允许您配置不同的缓存驱动程序,如Redis、数据库等。
安装
要开始使用Superban,只需通过Composer安装此包
composer require edenlife/superban
配置
在superban.php配置文件中,您可以
- 指定缓存驱动程序
- 选择Superban应使用的缓存驱动程序(例如,Redis、数据库)。
- 设置禁止阈值
- 配置客户端在禁止之前发出的请求数量。
- 定义禁止时长
- 指定客户端达到阈值后的禁止时长。
- 选择禁止条件
- 决定是否根据用户ID、IP地址、电子邮件或这些条件的组合进行禁止。
- 全局或按路由应用禁止
- 选择是否为所有路由全局应用禁止或指定特定路由。
使用方法
要在Laravel应用程序中使用Superban,请将Superban中间件添加到所需的路由或在全球的App\Http\Kernel中应用
protected$middleware = [
// ... other middleware
\SuperBanHttp\Middleware\SuperbanMiddleware::class,
];
中间件使用示例
Route::get('/protected-route', 'YourController@protectedAction')->middleware('superban:10,2,10');
贡献
如果您遇到任何问题或对改进有建议,请随时在GitHub仓库中打开问题或提交拉取请求。
许可证
Superban是开源软件,许可协议为MIT。