atannex / limiting
Rate limiting for Laravel, built for security: seven atomic algorithms (sliding window, sliding log, fixed window, token bucket, leaky bucket, GCRA, calendar quotas) plus concurrency limits, on Redis, any cache store or memory. Named policies with several limits each, failure-only counting for login
Requires
- php: ^8.2
- illuminate/cache: ^11.0|^12.0
- illuminate/console: ^11.0|^12.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/events: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/routing: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- atannex/routing: ^1.1
- guzzlehttp/guzzle: ^7.8
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.5
Suggests
- ext-redis: For the redis store through phpredis (predis/predis works too).
- atannex/routing: For the #[RateLimit] route attribute (^1.1).
- guzzlehttp/guzzle: For Limiting::guzzle(), limiting outgoing HTTP calls (^7.8).
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-30 11:14:42 UTC
README
Rate limiting for Laravel, built to protect a site. It controls how often someone can do something (log in, post a form, call an API) and blocks them for a while when they go over the limit. Repeat offenders get longer and longer bans, trusted addresses can be let through and bad ones blocked. Limits are set as named policies and attached to controllers with an attribute.
Install
composer require atannex/limiting