Bankprojekt Beschreibung
Zur Navigation springen
Zur Suche springen
Virtuelle Bank mit PHP & MariaDB
Ziel des Projekts
Das Projekt dient als praxisnahes Beispiel, um grundlegende Konzepte von PHP und MariaDB zu vermitteln. Es soll eine einfache Bank-Simulation entstehen, bei der Benutzer Konten verwalten, Überweisungen tätigen und Transaktionen nachvollziehen können. Zusätzlich gibt es einen Bankdirektor, der als Administrator fungiert und Einsicht in alle Konten und Transaktionen hat.
Das Projekt soll folgende Lerninhalte vermitteln:
- Datenbankdesign und SQL
- Benutzerverwaltung mit PHP und Hashing von Passwörtern
- Sitzungsverwaltung (Sessions) zur Authentifizierung
- CRUD-Operationen (Create, Read, Update, Delete) mit PHP
- Transaktionsmanagement in SQL (z. B. für Überweisungen)
- Sicherheitsaspekte wie SQL-Injection-Vermeidung und Berechtigungen
Funktionsumfang
Die Bank-Simulation umfasst folgende Funktionen:
- Benutzerregistrierung und Login mit gesichertem Passwort (bcrypt)
- Jeder Benutzer hat ein Konto mit einem Startguthaben von 10.000 Talern
- Benutzer können sich untereinander Geld überweisen, jedoch mit einem Limit pro Überweisung
- Der Kontostand ist nur für den jeweiligen Benutzer sichtbar
- Der Bankdirektor kann alle Konten und Transaktionen einsehen
- Transaktionshistorie zur Nachverfolgung von Überweisungen
Software-Basis
Das Projekt wird auf einem Debian-System eingerichtet mit folgenden Komponenten:
- Apache2 als Webserver
- PHP für die Backend-Logik
- MariaDB als relationale Datenbank
- php-mysql als Schnittstelle zwischen PHP und MariaDB
Sicherheit
Zur Absicherung des Systems werden folgende Maßnahmen ergriffen:
- Passwort-Hashing mit bcrypt
- SQL-Injections verhindern durch Prepared Statements
- Session-Handling für Authentifizierung und Schutz gegen Hijacking
- Transaktionen in SQL zur Vermeidung inkonsistenter Buchungen