We recently worked on a small project on Online Banking system in PHP & Mysql. I am sharing the code with the usage details here. It is for college students who might want to develop something similar. It is coded completely from scratch without using any external libraries or tools. College students can also use this as their project.
The project’s primary goals consist of:
- A robust and effective web based online banking system.
- Extending functionality without compromising the security.
- Personal banking services that gives you complete control over all your banking demands online.
- Simple and easy user interface to work with.
Online Banking features:
- Registration for online banking by Admin.
- Adding Beneficiary account by customer.
- Transferring amount to the beneficiary added by customer.
- Staff must approve for beneficiary activation before it can be used for transferring funds.
- Customer gets to know his last login date and time each time he logs in.
- Customer can check last 10 transactions made with their account.
- Customer can check their account statement within a date range.
- Customer can request for ATM and Cheque Book.
- Staff will approve requests for ATM card and cheque book.
- Admin can add/edit/delete customer as well as staff.
- All three of them(customer, staff & admin) can change their password.
- Staff and Admin Login pages are hidden from customer for security purpose.
- Each and every input is passed through mysql_real_escape_string() to remove special characters from the string so that user can’t submit arbitrary input. It protects from attacks like Sql Injection and Cross Site Scripting(XSS).
- Passwords are encrypted with SHA- 1 hashing algorithm and then stored in database.
- Passwords are stored as encrypted hashes with an additional random salt for added security.
- The database contains customer, staff & admin tables.
- Each customer has its own virtual passbook linked with its account number.
- Staff, customer and, admin have their details and password in their respective tables with all the details.
- A separate table for beneficiary is included in the database.
- A table for cheque book and ATM requests is included.
This project is divided into three hierarchical parts:
- The index page for the customer login.
- A hidden staff login page.
- A hidden admin login page.
- Install XAMPP or something similar.
- Copy all the files to c:/xampp/htdocs/banking/
- Import the bank_db.sql from phpMyAdmin.
- change the password in _inc/dbconn.php file accordingly.
- visit localhost/banking (customer index page)
- visit localhost/banking/adminlogin.php (admin login)
- visit localhost/banking/staff_login.php (staff login)
Customer home page
This project should not be modified in any way and used anywhere else without my permission.
Some people have downloaded this project and are using it for phishing purposes after modifying the source code. The original project has nothing to do with phishing or any other malicious purpose. Any loss of data or unauthorized access which happened because of such phishing kits would not be my responsibility as that’s not my original code. Strict legal action would be taken if someone is found modifying it and using it for any unethical purpose.