Projekt Bank
Sie bekommen von der Firmenleitung den Auftrag,
für die Kunden der Firma Konten einzurichten.
Dem Kunden soll angeboten werden, daß er
jederzeit Informationen, über seinen Kontostand
erhält.
Er soll Überweisungen an andere Kunden tätigen
können.
Dem Kunden soll ein Webinterface zur Tätigung
seiner Geschäfte angeboten werden
( CGI mit dem firmeneigenen Webserver ).
Ihre spezielle Aufgabe ist die Realisierung
der Kontenverwaltung.
Die Kundensicht
- Entscheiden Sie sich, ob Sie mit Textdateien
oder mit einer realen Datenbank arbeiten.
- Überlegen Sie sich, welche Datensätze sie
brauchen (Tabellen/DB-Struktur)
Minimales Beispiel (unterstrichene Werte
sind eindeutig),
konten |
kunde |
pin |
tan |
kdnr |
kdnr |
kdnr |
ktonr |
ktonr |
kdname |
pin |
tan1 ... |
ktostd |
sess_id |
|
tan10 |
- Entwickeln Sie eine Startseite für den Kunden,
auf der er sich mit Kontonummer und PIN anmeldet.
- Nach der Anmeldung bekommt der Kunde den
aktuellen Kontostand und die Möglichkeit
(Link), eine Überweisung zu tätigen.
- Entwickeln Sie ein Überweisungsformular,
das den Betrag vom Kontostand des Absenders
abzieht und dem
Kontostand des Empfängers gutschreibt.
- Implementieren Sie erst dann den TAN-Mechanismus:
Bei einer Überweisung muß eine Zahl angegeben
werden,
die den Absender identifizert, die sog.
Transaktionsnummer
(TAN).
Zusatz : sorgen Sie dafür, daß eine TAN
nur
einmal verwendet werden kann.
- Sorgen Sie für eine verschlüsselte Datenübertragung
per SSL
- Überdenken Sie den TAN-Mechanismus : Überlegen
Sie, wie sie dem Kunden bei einer Anmeldung
die zuletzt
verwendete TAN mitteilen können.
- Welche Information(en) sind sicherheitskritisch und sollten auch
serverseitig nicht im Klartext gespeichert werden ?
Die Administrationssicht
- Planen Sie für sich eine Webschnittstelle
zur Pflege der Datenbank
- Ermöglichen Sie die Neuaufnahme von Kundendatensätzen
- Ermöglichen Sie die Änderung einer PIN
Der Weg ist das Ziel (Nicolai Hartmann)
Sie werden aus Zeitgründen voraussichtlich
nicht alle Features realisieren können.
Setzen Sie sich also Zwischenziele (Meilensteine),
die sie zunächst sauber lösen können.
Überlegen Sie sich genau, ob Sie die Daten
in Dateien (kommaseparierte Tabellen) oder
mit der
MySQL-Datenbank verwenden wollen. Ist für
Sie die SQL-Logik einfacher als das rein
Perlbasierte arbeiten ?
Verwalten Sie die MySQL-DB zunächst mit dem
Webmin.
Keep cool and
Have a lot of fun