Skip to content

πŸ” A zero-framework PHP dating application demonstrating secure Authentication, Authorization, and Accounting (AAA). Built for NIBM Software Security Assessment 2024, featuring custom security implementations, role-based access control, and comprehensive activity logging. Includes Python-based test data population for development environment.

License

Notifications You must be signed in to change notification settings

malithonline/dateHubWebSecurityDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

A secure PHP-based application demonstrating Authentication, Authorization, and Accounting (AAA) capabilities without using any frameworks. Developed for the NIBM Software Security Assessment 2024.


πŸ“Έ Screenshots

Login Page Register Page Dashboard

🎯 Assessment Focus

🎯 Assessment Focus

✨ Key Requirements Met

  • ⚑ Zero Framework Implementation
  • πŸ” Custom AAA System
  • πŸ“Š Database Integration
  • 🚫 No External Security Frameworks
  • πŸ“ Complete Activity Logging
  • πŸ‘₯ Role-Based Access Control
  • πŸ”„ Version Control (GitHub)

πŸ› οΈ Technologies Used

  • Raw PHP (No Frameworks)
  • MySQL Database
  • HTML5
  • TailwindCSS
  • JavaScript (Vanilla)
  • Flowbite Components
  • Python (for data population)

πŸ“ Project Structure

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

πŸ”’ Security Features

  • 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

πŸ’» Installation

  1. Clone the repository
git clone https://github.com/malithonline/DateHub_WebSecurityDemo.git
  1. Database setup
CREATE DATABASE aaa_system;
  1. Import database structure
mysql -u root -p dating_app < sql/schema.sql
  1. Configure database

    • Copy database.example.php to database.php
    • Update database credentials
  2. (Optional) Populate test data

cd "data population"
python populate_data.py
  1. Start local server
php -S localhost:8000

πŸ“ Usage

  1. Register account
  2. Complete profile
  3. Browse matches
  4. Like profiles
  5. Admin panel access

πŸ”‘ Test Credentials

Admin:
Username: admin
Password: admin123

User:
Username: user
Password: user123

πŸŽ“ Assessment Details

  • Course: BSc (Hons) Computing 2024
  • Module: Software Security
  • Assessment: AAA Implementation
  • Weight: 50%
  • Lecturer: Mr. Niranga Dharmaratna
  • Due Date: October 26, 2024

🌐 Deployment

Live Demo: https://malith.eu.org

πŸ‘¨β€πŸ’» Student Details

  • Name: [Malith Madhuwanthe]
  • Student ID: [233f-025]
  • Batch: HNDSE 23.3F
  • GitHub: @malithonline

⚠️ Important Notes

  • 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

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


Made with πŸ’‘ for NIBM Software Security Assessment 2024

About

πŸ” A zero-framework PHP dating application demonstrating secure Authentication, Authorization, and Accounting (AAA). Built for NIBM Software Security Assessment 2024, featuring custom security implementations, role-based access control, and comprehensive activity logging. Includes Python-based test data population for development environment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published