hayrican / ipchecker
Laravel package for providing restricted access by IP Address to your application
Requires
- ext-json: *
- ext-simplexml: *
This package is auto-updated.
Last update: 2024-10-29 05:53:07 UTC
README
This package provides restricted access via IP Address to your application.
Installation
To get started, you should add the hayrican/ipchecker
Composer dependency to your project:
composer require hayrican/ipchecker
Service Provider (Laravel Older 5.5)
If you are using later version of Laravel 5.5, you can skip this step.
Register provider on your config/app.php
file.
'providers' => [ ..., HayriCan\IpChecker\IpCheckerServiceProvider::class, ]
Configuration
You should publish vendor for configuration file.
$ php artisan vendor:publish --tag="ipchecker"
Driver
The config file is called ipchecker.php. Currently supported drivers are db
and file
Default driver is file
and ipchecker will use file to record ip addresses. But if you want to use Database for records, migrate table by using
php artisan migrate
You have to change driver to db
before migrate. Otherwise it will not migrate the table.
Route Group Middleware
'api_middleware'=>'api', 'web_middleware'=>'web',
If your routes has different middleware then these default values you can change them in here. These route middleware need for filtering response of denial access.
Localization
When you call php artisan vendor:publish --tag="ipchecker"
command, it will also publish lang
file to your resources/lang
directory. You can change all fields as you desire.
Package Usage
1.Add Middleware
Add middleware named ipchecker
to the route or controller you want to log data
// in app.php or web.php Route::group(['middleware' => ['ipchecker']], function () { Route::get('test',function (){ dd('Test API'); }); });
When try to access this route it will check your IP Address. If you ip address is not on the list you will get response
{ "success": false, "code": 250, "message": "Your IP Address not in the list." }
Otherwise you will access to the route.
2.Add IP Address
Up to default config dashboard can be accessible via yourdomain.com/iplists but it is configurable from config file ipchecker.php
{ "settings"=>[ "auth" => false, "admin_id"=>[], "route_prefix"=> "", ], }
If you want to guard this page just change "auth"
to true
and it require "auth"
middleware.
When you enabled auth you could add admin users id to "admin_id"
array.
If leave "admin_id"
array empty, all users can has access to IP Checker dashboard
{ "settings"=>[ "auth"=> true, "admin_id"=>[2,5], "route_prefix"=> "", ], }
Also you can change the route prefix of this dashboard. If you change "route_prefix"
to "foo"
your dashboard will be accessible via yourdomain.com/foo/iplists.
You can add IP Address in here.
Author
Hayri Can BARÇIN
Email: Contact Me
License
This project is licensed under the MIT License - see the License File for details