phpbar.de logo

Mailinglisten-Archive

[php] [php]nochmal sessions

[php] [php]nochmal sessions

Thomas Beckmann php_(at)_phpcenter.de
Wed, 11 Apr 2001 09:22:13 +0200


>> > Mach' einen logout-Knopf, mit dem Du den Eintrag in der DB wieder
>> > l=F6scht. Wenn der user sich einloggt, pr=FCfst Du, ob ein =
DB-Eintrag
>> > vorhanden ist, wenn ja, verweigerst Du das login, bzw. zwingst ihn,
>> > sich erst auszuloggen.
>> >=20
>> Mein Ansatz war schon so =E4hnlich. Hatte allerdings meine Zweifel =
weil ich
>> nicht wei=DF, wie man den db-Eintrag mit der session-id wieder =
l=F6schen kann, wenn
>> der user den Browser einfach per X-klick verl=E4sst statt den =
logout-button zu
>> klicken! Meinst Du das er f=FCr den Fall einfach in der login-tabelle =
stehen
>> bleibt und beim n=E4chsten login gezwungen wird sich erstmal =
auzuloggen?=20
Ja, das meine ich.
>
>Im PHP Manual ist die ignore_user_abort() Funktion (bei Misc zu=20
>finden) beschrieben und im Features Teil gibts ein Kapitel zu =
"Connection
>Handling". Vielleicht gehts damit? Ich selber hatte noch nicht die Zeit=20
>damit rumzuspielen.
Ja, Egon, das hab' ich auch, als Claudia gefragt hat, sofort gedacht,
ich hab' selber auch noch nichts damit gemacht, mir scheint aber, da=DF
das nur bedeutet, da=DF das *laufende* script zuende abgearbeitet wird,
nicht, da=DF bei einem abort ein anderes script angestossen werden kann
(das die db aufr=E4umt). Die Diskussion gab' hier in Variationen ja
schon mehrfach.
Was man anscheinend machen kann, ist die session zu modifizieren, da
gibt's doch session_set_save_handler(), wo man eine garbage-collection
machen kann, wenn die session zerst=F6rt wird. Im Zusammenspiel mit
session.gc_maxlifetime sollte dann ein automatisches Ausloggen nach
einiger Zeit m=F6glich sein.
Wenn Du das timeout aber zu knapp setzt, wird die session uU noch "im
Betrieb" zerst=F6rt, wenn Du's zu lang setzt, n=FCtzt's nix, und =
au=DFerdem
hast Du immer noch das Problem der gleichzeitigen Einlogger - der
Aufwand scheint mir ungerechtfertig - soll'n dann doch die user sich
erst einmal ausloggen - das k=F6nnte man bei einem erneuten login ja
auch automatisch machen (allerdings w=FCrde das dann eventuell zu
erstaunten Gesichtern f=FChren, wenn pl=F6tzlich die session auf dem
anderen task tot ist, und man seine =C4nderungen in die FAQ schreiben
will ...)
>
>--=20
>LinuxTag, Stuttgart, Germany: July 5-8 2001: http://www.linuxtag.de/
>All known books about PHP and related books: http://php.net/books.php=20
>Concert Band of the University of Hohenheim: http://www.concert-band.de/
>First and second bestselling book in German: http://www.php-buch.de/


---
Thomas Beckmann, Kiel, Germany
beckmann_(at)_gis.de


php::bar PHP Wiki   -   Listenarchive