Skip to content

XetaIO/Xetaravel-IpTraceable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xetaravel IpTraceable

Stable Version Downloads Laravel License
Latest Stable Version Total Downloads Laravel 5.6 License

A simple package that update an IP field when the user login into the application. Also work with the remember_me token.

Requirement

PHP

Installation

composer require xetaio/xetaravel-iptraceable

ServiceProviders

Import the IpTraceableServiceProvider in your config/app.php:

'providers' => [
  //...
  Xetaio\IpTraceable\Providers\IpTraceableServiceProvider::class,
  //...
]

Middleware

Import the IpTraceable middleware in your app/Http/Kernel.php in the web part:

protected $middlewareGroups = [
   'web' => [
       //...
       \Illuminate\Session\Middleware\StartSession::class,
       \Xetaio\IpTraceable\Http\Middleware\IpTraceable::class,
       //...
   ],
   //...
];

Note : It's very important to import the middleware after the Illuminate\Session\Middleware\StartSession middleware, since this package use the session.

Config file

Publish the package config file to your application :

php artisan vendor:publish --provider="Xetaio\IpTraceable\Providers\IpTraceableServiceProvider" --tag=config

Database

Create 2 fields last_login_ip and last_login_date (optional) in your database :

// Must be nullable
$table->ipAddress('last_login_ip')->nullable();
$table->dateTime('last_login_date')->nullable(); // (optional) Disabled by default

The fields name can be changed in the configuration file.

Contribute

If you want to contribute to the project by adding new features or just fix a bug, feel free to do a PR.