rapidsquirrel / laravel-rate-limiter
A robust and customizable rate-limiting middleware for laravel
dev-main
2024-08-06 23:35 UTC
Requires
- php: ^8.0
- illuminate/support: ^11.0
This package is auto-updated.
Last update: 2025-07-07 01:41:52 UTC
README
This project implements a rate limiter for a Laravel application, providing protection against excessive requests and potential abuse.
Features
- Simple integration with Laravel framework.
- Configurable request limits.
- Middleware for applying rate limits on specific routes.
Installation
- Clone the repository:
git clone https://github.com/amrq88/laravel-rate-limiter.git
cd laravel-rate-limiter
- Install dependencies:
composer install
- Copy the example environment file and update your environment variables:
cp .env.example .env php artisan key:generate
- Run the migrations:
php artisan migrate
Configuration
You can configure the rate limiter settings in the config/rate_limiter.php
file.
return [ 'limits' => [ 'default' => [ 'max_attempts' => 60, 'decay_minutes' => 1, ], // Add other rate limit configurations here ], ];
Usage
Apply the rate limiter middleware to your routes in routes/web.php
or routes/api.php
:
use App\Http\Middleware\RateLimiter; Route::middleware([RateLimiter::class])->group(function () { Route::get('/your-route', [YourController::class, 'yourMethod']); });
Contributing
If you would like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact
For any inquiries, please contact Amr Qawasmeh.