Thomas Schmieder: Passwortschutz mit Sessions

Beitrag lesen

Hallo,

es gibt nur zwei(-einhalb) Arten, eine Authentifizierung mit HTTP zu errreichen. Entweder über Auth mit error 401 oder über session _mit_ Cookie. Sessions ohne Cookies sind untauglich (Historie).

Wie hast Du das Passwort denn erfragt?

Nach einem erfolgreichen Pasaswortcheck musst Du die einen Vermerk _in_ der Session-datei machen, indem Du z.B. einfach $HTTP_SESSION_VARS["passwort"]=$HTTP_POST_VARS["passwort"] setzt und das gleiche mit Username und seiner ID, falls Du eine Datenbank benutzt.

Dann musst Du auf _jeder_ Seite als erstes eine Session starten und reingucken, ob diese Werte eingetragen sind. Du fragst eben einfach $HTTP_SESSION_VARS["passwort"] und wenn du ihn brauchst auch den Usernamen oder die ID wieder ab.

Außerdem sollte jede Session einen zweiten Cookie (Lifetime=0, nur solange das Window und seine Kinder leben) haben, der ebenfalls in der Sessiondatei eingetragen wird. Damit kann man Mehrfachanwendungen vermeiden.

Noch ein Hinweis:
Wenn Regsister_Globals = OFF ist, dann benutze nicht mehr die Funktionen sesseion_register() und session_unregsiter(). Die sind dann quasi "verboten". Mache alles über Direktzuweisungen auf $HTTP_SESSION_VARS[].

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.