webhubworks / craft-rate-limiter
Rate Limiter for Controller Actions
Installs: 112
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:craft-plugin
Requires
- php: >=8.0.2
- craftcms/cms: ^4.3.5|^5.0.0
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), ], ];