|
Wenn man Teile eines Internetauftritts vor neugierigen Augen schützen will, benötigt man ein wirksames System zur Zugangskontrolle.
In vielen Fällen bietet sich hier die bekannte HTTP-Authentifizierung an, die man beispielsweise per
.htaccess-Datei umsetzen kann. Diese Methode hat aber den Nachteil,
dass es auch in modernen Browsern immer noch keine praktikable Möglichkeit gibt, sich wieder abzumelden. Dieser Artikel soll zeigen,
wie man Dokumente auf relativ einfache Weise sinnvoll schützen kann. Voraussetzung dafür ist ein Webserver
mit PHP-Unterstützung.
Das System wird mittels Sessions umgesetzt (engl. Session = Sitzung). In PHP ist eine Session im Prinzip eine Datei, die sich im
Dateisystem des Webservers befindet. In ihr sind Daten gespeichert, auf die man über den speziellen
Array $_SESSION zugreifen kann. Jeder Benutzer, der mit seinem Browser eine Seite aufruft, die Sessions benutzt, bekommt
nun vom Server eine einmalige Session-ID zugewiesen, über die er identifiziert werden kann. Dadurch ist es möglich, Daten
benutzerbezogen zu speichern, die während einer Sitzung wiederverwendet werden können. Anwendungsmöglichkeiten sind
zum Beispiel ein Warenkorb beim Einkaufen im Internet oder eine Administrationsoberfläche für ein Content
Management System.
Das hier beschriebene Loginsystem umfasst die 3 Dateien login.php, logout.php und auth.php,
welche sich alle im selben Verzeichnis befinden. Die Datei login.php beinhaltet sowohl das Formular zum Anmelden
als auch die Routinen, um die Benutzerdaten zu verarbeiten und bei erfolgreicher Anmeldung entsprechende Daten in die Session
zu speichern. Die Datei logout.php zerstört die Sitzungsdaten und meldet so den Benutzer ab.
auth.php enthält den essentiellen Teil, nämlich die Überprüfung, ob der Benutzer aktuell
angemeldet ist und somit berechtigt, das angeforderte Dokument anzusehen. Diese Datei wird in jedes zu
schützende Dokument eingebunden.
Hier finden Sie ein einfaches Beispiel: zum Login-System
|