����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.119.107.255 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/bofirmacademy.com/vendor/ivanomatteo/laravel-device-tracking/ |
Upload File : |
# A library that allows you to track different devices used per user [](https://packagist.org/packages/ivanomatteo/laravel-device-tracking) <!-- [](https://travis-ci.org/ivanomatteo/laravel-device-tracking) [](https://scrutinizer-ci.com/g/ivanomatteo/laravel-device-tracking) --> [](https://packagist.org/packages/ivanomatteo/laravel-device-tracking) This package implements a "google like" device detection. You can detect when a user is using a new device and manage the verified status between user and device. You can also detect a possible device hijacking. ## Installation You can install the package via composer: ```bash composer require ivanomatteo/laravel-device-tracking php artisan migrate ``` Publish config file: ```bash php artisan vendor:publish --provider "IvanoMatteo\LaravelDeviceTracking\LaravelDeviceTrackingServiceProvider" --tag config ``` ## Usage ```php // add the trait to your user model class User{ //... use IvanoMatteo\LaravelDeviceTracking\Traits\UseDevices; //... } // call on login or when you want update and check the device informations // by default this function is called when the Login event is fired // only with the "web" auth guard // if you want you can disable the detect_on_login option in the config file $device = \DeviceTracker::detectFindAndUpdate(); // flag as verified for the current user \DeviceTracker::flagCurrentAsVerified(); // flag as verified for a specific user \DeviceTracker::flagAsVerified($device, $user_id); // flag as verified for a specific user by device uuid \DeviceTracker::flagAsVerifiedByUuid($device_uuid, $user_id); ``` If you are using Session Authentication it's possible to add the middleware **IvanoMatteo\LaravelDeviceTracking\Http\Middleware\DeviceTrackerMiddleware** in app/Http/Kernel.php, at the end of **web** group. This way, the device will also be checked for **subsequents** requests to the login request. **DeviceTrackerMiddleware** will store the md5(request()->ip() . $device_uuid . $user_agent ) inside the session so the detection will be executed again only if the hash does not match. Following events can be emitted: * **DeviceCreated** when a new device is detected and stored * **DeviceUpdated** when some information of a device is changed * **DeviceHijacked** when critical device information is changed. You can also define a custom **DeviceHijackingDetector**. After this event, the device will be updated, and the next time, DeviceHijacked will not be emitted, but the device will have the field **device_hijacked_at** with the last DeviceHijacked event timestamp. * **UserSeenFromNewDevice** when a user is detected on a device for the first time * **UserSeenFromUnverifiedDevice** when a user is detected on a device not for the first time and the device is not flagged as verified ### Changelog Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. ## Contributing Please see [CONTRIBUTING](CONTRIBUTING.md) for details. ### Security If you discover any security related issues, please email ivanomatteo@gmail.com instead of using the issue tracker. ## Credits - [Ivano Matteo](https://github.com/ivanomatteo) - [All Contributors](../../contributors) ## License The MIT License (MIT). Please see [License File](LICENSE.md) for more information.