webhubworks/craft-rate-limiter

Rate Limiter for Controller Actions

Installs: 434

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:craft-plugin

pkg:composer/webhubworks/craft-rate-limiter

0.6.0 2025-05-22 11:03 UTC

This package is auto-updated.

Last update: 2025-09-22 11:45:53 UTC


README

Rate Limiter for Controller Actions

Config

Copy the config.php file to your config directory as craft-rate-limiter.php and set the rate limit values.
These are two example configs:

<?php

use webhubworks\craftratelimiter\models\RateLimiterConfig;

return [
    '*' => [
    
        RateLimiterConfig::make()
            ->requestsPerSecond(1)
            ->requestsPerMinute(2)
            ->requestsPerHour(20)
            ->requestMethods(['POST', 'PUT', 'PATCH', 'DELETE'])
            ->addControllerAction(
                controllerClass: \craft\controllers\UsersController::class,
                controllerActions: ['login']
            ),
            
        RateLimiterConfig::make()
            ->requestsPerMinute(2)
            ->requestMethods(['POST', 'PUT', 'PATCH', 'DELETE'])
            ->anyActionOfController(\craft\controllers\SomeOtherController::class),
    ],
];