Download the PHP package michaelthedev/superban without Composer
On this page you can find all versions of the php package michaelthedev/superban. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download michaelthedev/superban
More information about michaelthedev/superban
Files in michaelthedev/superban
Package superban
Short Description Laravel package to ban clients completely for a period of time
License MIT
Informations about the package superban
Laravel Superban
About The Project
Superban is a Laravel package that provides a simple and flexible way to ban clients from your API based on their request behavior. It allows you to specify a number of requests after which a client will be banned for a given time interval. The package is built on top of Laravel's built-in rate limiting features and supports different cache drivers.
Installation
You can install the package via composer:
After installing the package, you need to register the package's service provider in the config/app.php
file of your Laravel project:
Then, publish the package's configuration file by running the following command:
Configuration
The package's configuration file is located at config/superban.php
. Here you can specify the cache driver to use (Redis, Database, etc.) and the parameters for banning clients.
Usage
After installing and configuring the package, you can use the superban
middleware on your routes like so:
In the above example, 200
is the number of requests, 2
is the amount of minutes for the period of time the number of requests can happen, and 1440
is the amount of minutes for which the user is banned for.
The superban
middleware takes into consideration the ability to ban by user id, IP address and email. You can apply it either for specific or all routes.
License
The Superban package is open-sourced software licensed under the MIT license.
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch
- Commit your Changes
- Push to the Branch
- Open a Pull Request