Hier finden Sie einen kleinen Überblick über meine Projekte



Session Basiertes Login-System

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 Seite  .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



Page generated:
Thu Mar 28 22:42:51 CET 2024