jobmetric / laravel-ban-ips
This is an annoying IP management package for Laravel that you can use in your projects.
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Language:Blade
Requires
- php: >=8.0.1
- jobmetric/laravel-package-core: ^1.7
- laravel/framework: >=9.19
- spatie/laravel-query-builder: ^5.7
Requires (Dev)
- phpunit/phpunit: ^10.1
README
Ban Ip for laravel
This is an annoying IP management package for Laravel that you can use in your projects.
Install via composer
Run the following command to pull in the latest version:
composer require jobmetric/laravel-ban-ips
Documentation
To use the services of this package, please follow the instructions below.
Migrate
After installing the package, you must migrate by running the following command:
php artisan migrate
Usage
To use the services of this package, you must use the BanIp
class in your model.
Store Ban Ip
To store a ban ip, you can use the following code:
use JobMetric\BanIp\Facades\BanIp; BanIp::store([ 'ip' => 'sample ip', 'type' => 'hacker', 'reason' => 'This is a sample reason', 'banned_at' => now(), 'expire_at' => now()->addDays(1), ]);
Note:
The
ip
field is required and must be a string.The
type
field is required and must be one of the following values:hacker
,spammer
,bot
,another
.The
reason
field is required and must be a string.The
banned_at
field is required and must be a date.The
expire_at
field is required and must be a date greater than thebanned_at
field.
Update Ban Ip
To update a ban ip, you can use the following code:
use JobMetric\BanIp\Facades\BanIp; BanIp::update([ 'type' => 'hacker', 'reason' => 'This is a sample reason', 'banned_at' => now(), 'expire_at' => now()->addDays(1), ]);
Note:
The
type
field is sometimes and must be one of the following values:hacker
,spammer
,bot
,another
.The
reason
field is sometimes and must be a string.The
banned_at
field is sometimes and must be a date.The
expire_at
field is sometimes and must be a date greater than thebanned_at
field.
Delete Ban Ip
To delete a ban ip, you can use the following code:
use JobMetric\BanIp\Facades\BanIp; BanIp::delete(/* ban ip id */);
Delete Expired Ban Ip
To delete expired ban ip, you can use the following code:
use JobMetric\BanIp\Facades\BanIp; BanIp::deleteExpired();
Helper Functions
This package contains several helper functions that you can use as follows:
storeBanIp
: This function is used to store a ban ip.updateBanIp
: This function is used to update a ban ip.deleteBanIp
: This function is used to delete a ban ip.deleteExpiredBanIp
: This function is used to delete expired ban ip.
Rules
There are some rules for using this package:
BanIpExistRule
: This rule is used to check if the IP is banned.
Ban Type
There can be various reasons for the IP ban:
hacker
: This type of ban is used for hackers.spammer
: This type of ban is used for spammers.bot
: This type of ban is used for bots.another
: This type of ban is used for other reasons.
Commands
This package contains several commands that you can use as follows
Events
This package contains several events for which you can write a listener as follows
Contributing
Thank you for considering contributing to the Laravel Ban Ip! The contribution guide can be found in the CONTRIBUTING.md.
License
The MIT License (MIT). Please see License File for more information.