Download the PHP package beholdr/laravel-backoff-limiter without Composer
On this page you can find all versions of the php package beholdr/laravel-backoff-limiter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download beholdr/laravel-backoff-limiter
More information about beholdr/laravel-backoff-limiter
Files in beholdr/laravel-backoff-limiter
Package laravel-backoff-limiter
Short Description Rate limiter with exponential backoff for Laravel.
License MIT
Homepage https://github.com/beholdr/laravel-backoff-limiter
Informations about the package laravel-backoff-limiter
Backoff Limiter
Rate limiter with exponential backoff for Laravel.
Imagine that you want to verify your customer's phone number by sending an SMS code. But sending SMS is expensive and you don't want to allow too many requests. Laravel has RateLimiter class, but it is very simple. Let's say you accept 1 attempt per minute, but this allows some unfriendly person to send 1 SMS every minute without any penalties.
Using BackoffLimiter
class you can increase backoff exponentially with every attempt. For example, first retry will be available in 1 minute, second in 4 minutes, third in 9 minutes etc. Backoff time is determined by the formula:
Support
Do you like Backoff Limiter? Please support me via Boosty.
Installation
You can install the package via composer:
Usage
You can use this package as default RateLimiter
class:
Or you can manually control attempts:
You can set up:
- Backoff window: the time interval during which attempts are counted. Default is
1 hour
- Exponent: determine backoff time duration. Default is
2
To set custom values pass your values at class creation:
Testing
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-backoff-limiter with dependencies
spatie/laravel-package-tools Version ^1.14.0
illuminate/contracts Version ^10.0 || ^11.0 || ^12.0