A client fingerprinting tool that detects and alerts users of new or unidentified logins to enhance authentication security.
ECE 478 Client Fingerprinting Techniques
This tool is designed to monitor client logins by fingerprinting devices and alerting users when a new or unrecognized login occurs, similar to security features used by banking systems and Gmail. It is ideal for developers and security teams looking to implement intrusion detection and authentication notification systems within their applications.
The website must be hosted on a live server for IP capture to function properly; running locally may limit functionality. Proper AWS credential configuration is essential to avoid CloudWatch logging errors. For SSL-related curl errors, update 'curl.cainfo' in php.ini with a valid CA certificate bundle. VPNs or incognito browser modes may interfere with authentication and fingerprinting features.
Configure AWS credentials using 'aws configure'
Install Node.js dependencies with 'npm i' in the lambda directory
Create 'lambda/firebaseAdminCredential.json' with Firebase admin credentials
Update database credentials in 'lambda/rds.js'
Run local backend tests with 'node test.js'
Install PHP dependencies with 'composer install' in the src directory
Update AWS profile in 'src/services/logger.php'
Configure Firebase settings in 'src/services/firebase.php'
Update Web Push VAPID key in 'src/js/messaging.js'
Update database credentials in 'src/classes/Db.php'
aws configure
Set up AWS CLI with your credentials for access to AWS services.
npm i
Install Node.js dependencies required for the AWS Lambda backend.
node test.js
Run local tests for the Lambda backend functionality.
composer install
Install PHP dependencies for the website frontend.
php -S localhost:8000 -t ./src
Start a local PHP server to run the website frontend.