A secure PHP-based application demonstrating Authentication, Authorization, and Accounting (AAA) capabilities without using any frameworks. Developed for the NIBM Software Security Assessment 2024.
- β‘ Zero Framework Implementation
- π Custom AAA System
- π Database Integration
- π« No External Security Frameworks
- π Complete Activity Logging
- π₯ Role-Based Access Control
- π Version Control (GitHub)
- Raw PHP (No Frameworks)
- MySQL Database
- HTML5
- TailwindCSS
- JavaScript (Vanilla)
- Flowbite Components
- Python (for data population)
datehub-security/
βββ data population/ # Python scripts for database population
βββ sql/ # Database structure and schemas
βββ uploads/ # File upload directory
βββ dashboard.php # User dashboard
βββ database.php # Database connection handler
βββ index.html # Landing page
βββ index.php # Main application entry
βββ login.html # Login interface
βββ login.php # Login handler
βββ logout.php # Session termination
βββ register.html # Registration interface
βββ register.php # Registration handler
βββ styles.css # Custom styling
βββ LICENSE # MIT License
βββ README.md # Project documentation
- Custom Authentication System
- Session Management
- Password Hashing & Salting
- CSRF Protection
- XSS Prevention
- SQL Injection Protection
- Input Validation
- Rate Limiting
- Secure File Handling
- Comprehensive Activity Logging
- Clone the repository
git clone https://github.com/malithonline/DateHub_WebSecurityDemo.git
- Database setup
CREATE DATABASE aaa_system;
- Import database structure
mysql -u root -p dating_app < sql/schema.sql
-
Configure database
- Copy database.example.php to database.php
- Update database credentials
-
(Optional) Populate test data
cd "data population"
python populate_data.py
- Start local server
php -S localhost:8000
- Register account
- Complete profile
- Browse matches
- Like profiles
- Admin panel access
Admin:
Username: admin
Password: admin123
User:
Username: user
Password: user123
- Course: BSc (Hons) Computing 2024
- Module: Software Security
- Assessment: AAA Implementation
- Weight: 50%
- Lecturer: Mr. Niranga Dharmaratna
- Due Date: October 26, 2024
Live Demo: https://malith.eu.org
- Name: [Malith Madhuwanthe]
- Student ID: [233f-025]
- Batch: HNDSE 23.3F
- GitHub: @malithonline
- No frameworks were used as per assessment requirements
- All security implementations are custom-built
- Complete logging system for AAA implementation
- Source code available for lecturer review
- Test data population script uses fictional data
- Uploaded files are securely stored in uploads directory
This project is licensed under the MIT License. See the LICENSE file for details.
Made with π‘ for NIBM Software Security Assessment 2024