Sven Rautenberg: Zeit, die man bei HTTP-Auth. angemeldet ist, einstellen!?

Beitrag lesen

Moin!

Das hört sich nun so an, als macht es doch der Server, der nach einer bestimmten Zeit sagt: "Schacht im Schicht" und dem Clienten nur noch ein 403 zurückgibt...!? hmm, dann müsste es irgendwo einstellbar sein, oder?

Nein, standardmäßig wird der Server das nicht tun. Übrigens ist der HTTP-Code 401, und nicht 403, das nur am Rande.

Wobei ich unter "standardmäßig" verstehe, dass keine besondere serverseitige Programmierung erfolgt. Wenn man ein Verzeichnis beim Apache mit HTTP-Authentifizierung schützt (der Anfänger würde sagen: "mit .htaccess"), dann ist die einmal gelungene Anmeldung solange gültig, wie der Browser die Anmeldedaten bei sich speichert.

Und das kann zeitabhängig sein (das wäre dann Einstellungssache beim Browser selbst, in den Benutzereinstellungen), so ein Verhalten wäre mir aber neu. Üblich ist, dass eine Anmeldung prinzipiell unendlich lange dauert, solange der Browser nicht beendet wird.

Wenn man nichts irgendwo speichert, also der Browser das Passwort _nicht_ speichern soll, dann wäre man ja trotzdem noch angemeldet. Der "folgeuser", der nicht authorisiert sein soll, braucht nur in der History oder im "Verlauf" nachzuschlagen und schon ist er drin... naja, das ist ja dann auch egal 8]

Wenn der erste Benutzer sich irgendwo anmeldet, und dann den Browser _nicht_ schließt, und danach der zweite Benutzer denselben Browser weiterbenutzt, _dann_ ist das ein Problem.

Aber sowas tritt in der Regel nicht auf. Browser komplett schließen reicht in der Regel aus, und wenn tatsächlich solche Multi-User-Computer von zwei Benutzern genutzt werden, bei denen der eine beim anderen nichts böses machen darf, dann ist in der Regel ein Multi-User-Betriebssystem installiert, bei dem sich der erste Benutzer ausloggen und der zweite Benutzer dann einloggen muß - und alleine dadurch ist dann sichergestellt, dass keine Anmeldungen verdeckt und ungewollt weitergegeben werden.

Allerdings hast du da natürlich einen wichtigen Punkt angesprochen: Es wäre beispielsweise undenkbar, dass man sich bei seiner Onlinebank mit HTTP-Authentifizierung anmeldet, egal wie lang die eigene Kontonummer und PIN ist (je länger, desto unratbarer). Denn es ist Kern des Sicherheitskonzeptes, dass eine Session nach kurzer Zeit der Nichtnutzung verfällt und eine Neuanmeldung erforderlich macht - idealerweise verfällt die Session und löscht dabei auch gleich die letzte aufgerufene Seite, ansonsten kann jemand, der den (ja offenbar verlassenen) Rechner benutzt, zumindest noch die letzte Ausgabe lesen, was nicht unbedingt im Sinne des Accountinhabers sein muß.

Solch ein Auslogg-Vorgang läßt sich prinzipiell auch mit HTTP-Authentifizierung bewerkstelligen - allerdings nur mit serverseitigem Scripting (PHP als Apache-Modul, nicht als CGI, ginge beispielsweise), nicht mit .htaccess. Näheres dazu (Ausloggen bei HTTP-Auth) steht im Archiv - Alexander Korthaus hat dazu mal eine Methode mittels PHP gefunden.

- Sven Rautenberg