Zugangskontrolle mit Passwortschutz

Für einen geschlossenen Benutzerkreis wird eine Zugangskontrolle benötigt. Als erstes Beschreibe ich den Ablauf anhand des Ablaufdiagrammes Schritt für Schritt. Erst dann werden wir Schritt für Schritt das Programm umsetzen.

Zugangskontrolle mit Passwortschutz gegen unbefugten Zugriff

Schritt 1: Session starten

In der Session sind nach erfolgreichem Einloggen die Zugangsdaten vermerkt. Dadurch kann der Zustand sich ?gemerkt? werden. Ohne die Sessions wüsste das Programm beim nächsten Start nicht, ob der Benutzer sich bereits erfolgreich eingeloggt hat oder ob es sich um einen neuen Besucher handelt.

Schritt 2: Test, ob eine Formulareingabe vorliegt

Im Array $_POST, bzw. $_GET sind die Inhalte von einem abgesendeten Formular abfragbar. Wenn die entsprechenden Einträge vorhanden sind, geht es weiter in Punkt 3 mit gegenprüfen gegen Datenbank. Sind keine Formulareingaben vorhanden, springen wir direkt weiter zu Punkt 6.

Schritt 3: Gegenprüfen zu Datenbank-Einträgen

Hier werden nun die Formulareingaben gegen die Datenbank geprüft. Das besondere ist, dass das Kennwort in der Datenbank md5-verschlüsselt abgespeichert ist. Dadurch kann niemand (auch nicht der Admin) die Kennwörter nutzen, da das verschlüsseln ein Einwegvorgang ist. Das bedeutet, dass die Benutzereingabe auch wieder mit md5 verschlüsselt wird und das Ergebnis der Verschlüsselung mit dem eingetragenen md5-Kennwort verglichen wird. Sind beide identisch, dann war es das richtige Passwort. Als Ergebnis sollte nur 1 Datensatz zurück kommen!

Schritt 4: Nutzer hat sich korrekt authentifiziert

Wenn nur 1 Datensatz zurückkommt, hat der Vergleich gepasst. Die Daten des Nutzers werden in der Session hinterlegt, damit er auch für alle anderen Seiten als eingeloggt gilt.

Schritt 5: Fehlermeldung wenn nicht in Datenbank

Falls die Eingaben des Formulars zu keinem Ergebnis geführt haben, dann hat sich entweder der Nutzer vertippt oder es gibt ihn gar nicht (in der Datenbank). Es wird eine Fehlermeldung am Bildschirm angezeigt. Wenn Sie die Zugangsroutinen weiter absichern wollen, können Sie die Fehlerversuche mitzählen und nach 3 Fehlerversuchen den Zugang für X-Minuten sperren.

Schritt 6: Kontrolle der Session-Daten

Es wird nachgesehen, ob die entsprechenden Session-Daten vorhanden sind. Wenn diese korrekt vorhanden sind, läuft das Programm im Punkt 7 weiter. Dort kommt nun der eigentliche geschützte Programmteil, den nur berechtigte Benutzer sehen.

Schritt 7:geschütze Programmteil

Hier ist der geschützte Programmteil - dies kann jetzt beliebig komplex sein. Zum Testen können Sie einfach die aktuelle Uhrzeit ausgeben lassen.

Schritt 8: Formularausgabe zum einloggen

Nach dem fehlgeschlagenen Test der Session-Einträge ist klar, dass der Nutzer nicht eingeloggt ist. Also wird Ihm das Formular zum einloggen angezeigt. Nach dem Anzeigen des Formulars wird das Programm beendet!