segun/superban

此包的最新版本(1.0.0)没有提供许可信息。

该包提供了一种中间件,用于速率限制和禁止可疑用户。

1.0.0 2023-12-22 00:58 UTC

This package is auto-updated.

Last update: 2024-09-22 03:37:37 UTC


README

简介

Laravel Superban 包提供了一种中间件,用于根据指定的标准对客户端进行速率限制和禁止。它允许你轻松地配置速率限制、禁止持续时间,并将这些限制应用于 Laravel 应用程序中的特定路由或所有路由。

安装

通过 Composer 安装包

composer require segun/superban

配置

发布配置文件以自定义设置

php artisan vendor:publish --tag=superban-config

配置文件将位于 config/superban.php

配置选项

cache_driver: 指定速率限制和禁止的缓存驱动器(例如 redis、数据库)。ban_criteria: 定义禁止客户端的标准(例如 user_id、ip_address、email)。

用法

将 superban 中间件应用于您的路由或路由组

use Superban\Middleware\SuperbanMiddleware;

Route::middleware(['superban:200,2,1440'])->group(function () {
    Route::post('/thisroute', function () {
        // Your route logic here
    });

    Route::post('/anotherroute', function () {
        // Your route logic here
    });
});

在此示例中

200 是允许的请求数量。2 是指定数量请求的时间窗口(分钟)。1440 是禁止持续时间(分钟)。

运行测试

要运行测试,请运行命令 composer test