miniPHP
A small, simple PHP MVC framework skeleton that encapsulates a lot of features surrounded with powerful security layers.
miniPHP is a very simple application, useful for small projects, helps to understand the PHP MVC skeleton, know how to authenticate and authorize, encrypt data and apply security concepts, sanitization and validation, make Ajax calls and more.
It's not a full framework, nor a very basic one but it's not complicated. You can easily install, understand, and use it in any of your projects.
It's indented to remove the complexity of the frameworks. I've been digging into the internals of some frameworks for a while. Things like authentication, and authorization that you will see here is not something I've invented from the scratch, Some of it, is aggregation of concepts applied already be frameworks, but, built in a much simpler way, So, you can understand it, and take it further.
Features
- Authentication & Authorization
- Prevent Session Concurrency
- Defeat against Session Hijacking & Fixation
- Session Expiration
- Remember Me Tokens
- HTTP Method Validation
- Domain Validation
- Form Tampering
- CSRF Tokens
- XSS
- User Verification via Email Tokens
- Forgotten Password
- Defeat against Brute-Force attack
- Captcha
- Block IP Addresses(When same IP Address failed to login with multiple emails)
- SQL Injection(Using prepared statements)
- Encryption(Encryption Class is responsible for encrypting and decryption of data)
- Validation(A small library for validating user inputs)
- Error and Exception Handler
- Logger
- Sending Emails(with PHPMailer)
- Dashboard(quick links, statistics & latest updates)
- Profile(Edit user profile, and upload profile picture)
- News Feed & Posts & Comments(Edit, Create, and Delete in-place)
- Uploading and Downloading files(Secured way, progress bar, ...)
- Notifications(Whenever something is created - using Triggers)
- Report Bugs
- Handle Registered Users(Only Admins)
- Backups(Only Admins)