phpbar.de logo

Mailinglisten-Archive

[php] Session-Lifetime

[php] Session-Lifetime

Sebastian Mendel lists at sebastianmendel.de
Mit Mar 1 17:13:39 CET 2006


Thorsten Koch wrote:
> Hallo Sebastian,
> 
>>> Der Benutzer allerdings behält die Session so lange, wie er 
>> die Seiten 
>>> anzeigt. Da kann das Telefon kommen, der Chef oder die 
>> Mittagspause, 
>>> vollkommen gleichgültig.
>> Und jeder der vorbeiläuft am leeren Arbeitsplatz kann dich 
>> ein bisschen im Admin-Bereich umsehen ... oder wie?
>>
>> Ein Session-Timeout sollte wirklich nur dann zurückgesetzt 
>> werden wenn wirklich der Benutzer etwas macht, und nicht 
>> automatisch. Erst recht in sicherheitskritischen Bereichen 
>> wie ein Adminbereich.
> 
> Bei einem Administrator gehen wir doch von einem klassischen
> Einzelarbeitsplatz aus. Also wird der Administrator, der ja
> sicherheittechnisch sowieso sensibilisierter sein sollte, dafür Sorge
> tragen müssen, dass nicht jede Putzfrau, die vorbei kommt, sich am
> Rechner zuschaffen machen kann. Der Administrator ist diese Arbeitsweise
> gewohnt und demnach geschult.
> Außerdem könnte, falls der Arbeitsplatz nicht gesperrt wird, sich
> sowieso jeder an den Offline-Applikationen zuschaffen machen, die auch
> keine Sessions haben und nicht ablaufen. Da ist das völlig egal, ob das
> Browser-Fenster hinter nem offenen anderen Fenster verschwunden ist.

ich lese hier nur sollte, normalerweise, davon ausgehen ...


> Ich denke dass man sehr wohl die Session offen lassen kann, ohne dass
> der Benutzer etwas macht. Er könnte ja parallel gerade in einer anderen
> Applikation etwas nachschauen und hat kein Bock sich alle 90 Sekunden
> neu an der Anwendung anmelden zu müssen.
> Man kann natürlich einen "Kompromiss" eingehen und sagen, dass dieser
> iFrame die Session nur 10 Minuten offen hält und die Session dann
> zerstört wird. 
> Oder noch anders... Die Session wird nicht zerstört, sondern nur ein
> Flag gesetzt, dass eine neue Authentifizierung notwendig wird. So
> bleiben evtl. Informationen in der Session vorhanden, die der
> Administrator für seine Arbeit braucht und nach der Anmeldung nicht
> nocheinmal erzeugen will.

es ging überhaupt nicht um die Zeit oder wie genau die session 'abläuft' 
- das ist ein anderes Thema - es ging darum das die session überhaupt 
abläuft!


> Aber wie und in welchem Maße man diese Technik nun um- und einsetzt
> bleibt dem Anwendungs-Architekten bzw. dem Kunden überlassen. Ich wollte
> nur die Möglichkeit dafür aufzeigen, wie man soetwas realisieren kann,
> was mehr auf den Benutzer reagiert, denn wenn der das Fenster zu macht
> (ohne sich auszuloggen), dann ist die Session innerhalb von einer
> kürzeren Zeit futsch und ggf. Session-Hijacking schneller unmöglich, als
> bei anderen Varianten. 

Session-Hijacking ist jawohl ein ganz anderes Thema und sollte gesondert 
gesichert werden. (ganz abgesehen davon das hierdurch ebenfalls im 
schlimmsten Fall das hijacking vereinfacht wird, weil die Session die 
ganz Nacht offen bleibt ... faule Admins ...)

Ansonsten reicht es doch das Session timeout in der php.ini einzustellen 
... wozu dieses javascript zeugs?

P.s. außerdem ist es doch sehr Praxisfremd davon auszugehen das ein 
Admin sein Web-Admin-Interface nur von seinem Arbeitsplatz aus 
verwendet, wer rennt schon 3 Stockwerke durch die Firma um mal eben 
etwas für einen Benutzer zu ändern was er direkt an seinem Arbeitsplatz 
genauso gut kann, vor allem wenn er es hinterher eh von diesem 
Arbeitsplatz überprüfen muss ob es nun passt ... und jetzt soll bitte 
der Admin den ersten Stein schmeißen der noch nie etwas an einem 
Benutzer-Arbeitsplatz vergessen hat ... (egal ob ein offenes Fenster 
oder sein Schlüsselbund osw.)


-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive