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
>Rashid Feroz [firstname.lastname@example.org]
fb - facebook.com/rashid.feroz1
website - www.hackwhiz.com
>Kuldeep kumar [email@example.com]
fb - facebook.com/kuldeepanditkumar
>Abhimanyu shrivastava [firstname.lastname@example.org]
fb - facebook.com/abhimanyu.shrivastava.58