Thread REMOTE_USER geht bei 1&1 nicht mehr
(11 answers)
Opened by Henry07 at 2011-11-26 11:35
Stecke Authorization Basic (.htaccess) mal beiseite und programmiere selbst einen Login- und Logoutprozess.
Es gibt viele Module, die sowas erleichtern. I.d.R. wird das über einen Cookie gemacht, d.h., Du brauchst zunächst einen Cookie, der über die gesamte Browsersitzung als Wert einen konstant bleibenden Key hat (Session-Key). Darauf setzt der Loginprozess auf, der Benutzer gibt user/pass ein, das wird serverseitig verglichen, dazu müssen diese Credentials in einer Datei oder einer DB vorliegen. Es ist empfehlenswert, die Passworte da nicht im Klartext zu speichern, sondern als Hash-Wert (z.B. Apache MD5). Passt Die Eingabe, die über ein ganz normales Formular werfolgte, wird der Session-Key genommen und zusammen mit Benutzername, Benutzergruppe in einer Tabelle oder einer Datei gespeichert. Bei jedem nachfolgenden Request wird nun immer geprüft, ob es den Session-Key in der Tabelle gibt, zweckmäßigerweise liefert die Prüfmethode den Benutzernamen und die Benutzergruppe als Ergebnis. Zum Ausloggen wird der Record mit dem Session-Key gelöscht und beim nächsten Request gibt es zum mitgelieferten Session-Key aus dem Cookie keinen passenden Eintrag in der Login-Tabelle mehr. Das ist der Logout. OOP erleichtert das ganze wie folgt: Jede Seite, die ausgeliefert wird, ist ein Objekt, das sog. Response-Objekt. Das hat Eigenschaften wie Title, Beschreibung usw. UND den Session-Key, der mit dem Cookie im Request-Header mitkommt. Eine weitere Eigenschaft des Response-Objekts ist die zugeordnete Benutzergruppe, jetzt kann allein aufgrund der Eigenschaften entschieden werden, ob die Seite ausgeliefert werden darf oder nicht. Ist doch ganz einfach oder ;) |