oussema-khlifi / api-rate-limiter
API速率限制器是一个为Laravel应用程序提供中间件的软件包,用于使用令牌桶算法对传入的API请求进行速率限制。它有助于防止API资源的滥用,并确保所有用户都能公平地访问API。
dev-master
2023-07-23 16:01 UTC
Requires
- php: ^7.4
- illuminate/cache: ^8.0
- illuminate/support: ^8.0
This package is auto-updated.
Last update: 2024-09-23 18:47:14 UTC
README
API速率限制器包为Laravel应用程序提供了中间件,用于使用令牌桶算法对传入的API请求进行速率限制。速率限制有助于防止API资源的滥用,并确保所有用户都能公平地访问API。
特性
- 令牌桶算法:高效地控制每个用户传入API请求的速率。
- 可自定义的速率限制:设置每分钟生成的令牌数和每个用户允许的最大令牌数。
- 中间件集成:将速率限制应用于特定的API路由或全局使用中间件。
- 轻量级且易于使用:简单集成Laravel应用程序。
安装
通过Composer安装该软件包
composer require oussema-khlifi/api-rate-limiter
使用
将ApiRateLimiterMiddleware导入您的App\Http\Kernel.php文件。将中间件应用于特定的API路由或全局中间件堆栈。
use OussemaKhlifi\ApiRateLimiter\Middleware\ApiRateLimiterMiddleware; protected $middlewareGroups = [ 'api' => [ // Other middleware... ApiRateLimiterMiddleware::class, ], ];
配置
可以在配置文件config/api_rate_limiter.php中修改默认的速率限制设置
return [ 'tokens_per_minute' => 60, 'max_tokens' => 60, ];
许可
此软件包是开源软件,许可协议为MIT许可。
支持
如果您遇到任何问题或有问题,请提交问题。
贡献
欢迎贡献!如果您希望贡献,请分支仓库,创建一个新的分支,并提交一个拉取请求。