Mehrsprachiges
PHP Login-Modul

mit Datenverwaltung per Textdatei

Das Paket enthält eine Mini-Website mit vier Seiten, in der das eigentliche Login-Modul in einem eigenen Unterverzeichnis "login" eingebettet ist. So können Sie das Paket unter ihrem eigenen Webserver (mit PHP) einfach auspacken und gleich ausprobieren. In seiner Auslieferungsform enthält das Modul Registrierungsfelder (über Kennung und Passwort hinaus) für Benutzername und Telefon. Das Paket läßt sich leicht anpassen und einbauen, Anweisungen hierzu sind im Paket enthalten.

Alle Meldungen und Beschriftungen befinden sich in assoziativen Arrays, eine Array pro Sprache. Wie ausgeliefert enthält das Modul Übersetzungen für Deutsch ('de') und Englisch ('en'), weitere können in logindefs.inc.php hinzugefügt werden. Die verwendete Sprache wird aus der globalen Variable "$g_sprache" entnommen und in der PHP-Session gespeichert, soweit $g_sprache gesetzt ist.

Ablauf aus Benutzersicht

Anfangs bietet das Modul Felder für Kennung und Passwort. Der Benutzer kann wahlweise zur Registrierung wechseln (wenn kein Superuser konfiguriert ist, dem die Registrierung dann vorbehalten ist). Etwaige Eingaben werden dorthin transportiert. Nach dem erfolgreichen Login bzw. erfolgreicher Registrierung wird der Benutzer begrüßt; anschließend kann er Ausloggen.

Das Modul wird (in außerlich angepasster Form) hier auf der Seite Webtechnik eingesetzt.

Benutzerverwaltung

Im Auslieferungszustand ist ein Superuser mit Kennung "Admin" und Passwort "hallo" enthalten. Diesem eingeloggten Benutzer wird zusätzlich in der Navigation die Seite "benutzer.php" angeboten. Dort werden alle vorhandenen Kennungen aufgelistet, mit der Möglichkeit per Checkbox beliebige davon zu löschen. Die Tabelle, dessen Zelleneigenschaften sehr gut von außen konfigurierbar sind, kann auch ohne die Löschfunktion erzeugt werden.

 

Voraussetzungen

Das Login-Modul ist hervorragend minimalistisch – es benötigt nur PHP (4 oder 5), und hält seine Dateien in einem eigenen Unterverzeichnis zusammen. Die Login-Daten werden in einer einfachen Textdatei verwaltet, die vor externen Zugriffen in der Webserver-Config geschützt werden muss (siehe die Apache Dokumentation hierzu). Der Einsatz von SSL - eine Voraussetzung für den Gebrauch in "ernsthaften" Fällen – wird in diesem Paket nicht gezeigt (da ich annehme, dass wem dieses einfache Login ohne Datenbank im Hintergrund reicht, es auch mit SSL nicht so wichtig hat). Immerhin werden Kennung + Passwort als MD5-Hash gespeichert.

Wahlmöglichkeiten (Auszug)

  • Login-Id frei wählbar oder E-Mail Adresse
  • Registrierung für alle oder nur "Superuser"
  • Ort und Name der Passwort-Datei
    (damit evtl. außerhalb des Webspace)

Technischen Notizen

In PHP wird schon beim ersten Durchlaufen des Login-Moduls eine Session aufgemacht (bzw. ergänzt), damit die Anzahl der Login-Versuche überwacht werden kann. Die Session-Verwaltung funktioniert auch dann, wenn der Benutzer Cookies in seinem Browser ausgeschaltet hat.

Die Anmeldungsdaten werden in einem "flat file" mit "advisory locking" verwaltet. Jedes Record (eine Zeile) enthält die Kennung, den Namen, die Telefon-Nummer, [Kennung+Passwort] als MD5-Hash, sowie die Zeit des Anlegens und des letzten Zugriffs. Die tabellarische Anzeige sowie das Löschen falscher oder veralteter Sätze wird in loginlist.inc.php und benutzer.php realisert (zweiteres muss auch Ihren Umständen angepasst werden).

Zum Herunterladen bitte einloggen.

<title>PHP Login Code - Tim Reeves Internet-Programmierung</title> <meta name= "description" content= "Tim Reeves Internet-Programmierung - Einfaches PHP Login-Modul mit Datenverwaltung per Textdatei" /> <meta name= "keywords" content= "PHP Login, Login-Modul" /> <meta name= "date" content= "2010-03-28" /> <?php include("../head.inc.php"); include("../navi.inc.php"); include("../cntdown.inc.php"); ?> <div class= "content"> <table cellpadding= "0" cellspacing= "0" class= "spalten"> <tr> <td class= "sp5050"> <h1 style= "margin-top:12px">Mehrsprachiges<br />PHP Login-Modul</h1> <h5>mit Datenverwaltung per Textdatei</h5> <p class= "mehrluft">Das Paket enthält eine Mini-Website mit vier Seiten, in der das eigentliche Login-Modul in einem eigenen Unterverzeichnis "login" eingebettet ist. So können Sie das Paket unter ihrem eigenen Webserver (mit PHP) einfach auspacken und gleich ausprobieren. In seiner Auslieferungsform enthält das Modul Registrierungsfelder (über Kennung und Passwort hinaus) für Benutzername und Telefon. Das Paket läßt sich leicht anpassen und einbauen, Anweisungen hierzu sind im Paket enthalten.</p> <p class= "mehrluft">Alle Meldungen und Beschriftungen befinden sich in assoziativen Arrays, eine Array pro Sprache. Wie ausgeliefert enthält das Modul Übersetzungen für Deutsch ('de') und Englisch ('en'), weitere können in logindefs.inc.php hinzugefügt werden. Die verwendete Sprache wird aus der globalen Variable "$g_sprache" entnommen und in der PHP-Session gespeichert, soweit $g_sprache gesetzt ist.</p> <h5>Ablauf aus Benutzersicht</h5> <p class= "mehrluft">Anfangs bietet das Modul Felder für Kennung und Passwort. Der Benutzer kann wahlweise zur Registrierung wechseln (wenn kein Superuser konfiguriert ist, dem die Registrierung dann vorbehalten ist). Etwaige Eingaben werden dorthin transportiert. Nach dem erfolgreichen Login bzw. erfolgreicher Registrierung wird der Benutzer begrüßt; anschließend kann er Ausloggen.</p> <p class= "mehrluft">Das Modul wird (in außerlich angepasster Form) hier auf der