oussema-khlifi/api-rate-limiter

API速率限制器是一个为Laravel应用程序提供中间件的软件包,用于使用令牌桶算法对传入的API请求进行速率限制。它有助于防止API资源的滥用,并确保所有用户都能公平地访问API。

dev-master 2023-07-23 16:01 UTC

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许可。

支持

如果您遇到任何问题或有问题,请提交问题。

贡献

欢迎贡献!如果您希望贡献,请分支仓库,创建一个新的分支,并提交一个拉取请求。