phpbar.de logo

Mailinglisten-Archive

[php] Wiedermal Session

[php] Wiedermal Session

Sebastian Mendel lists at sebastianmendel.de
Mit Mai 2 10:42:05 CEST 2007


Jörn Grube schrieb:
> Einen schönen guten Morgen,
> 
> ich hatte ja vor zwei Wochen schonmal das Problem mit einem 
> automatischen Logout. Hab dann eine "Krüppellösung" genommen, die zwar 
> verhindert, dass zwei User gleichzeitig einloggen, nur muss immer jemand 
> der Admins dasein, der einen "vergesslichen" mit Gewalt ausloggt.

Sessions sind ja Benutzerbezogen, du willst aber etwas Anwendungsbezogenes -
daraus ergibt sich das dein Weg das mit Sessions zu machen der Falsche ist!

Du musst ganz einfach global (z. B. Datenbank), also
Benutzer/Session-unabhängig, speichern wer angemeldet ist und sein darf! Und
dies dann natürlcih bei jedem Benutzer überprüfen.

Vollkommen unabhängig von der Speicherung der benutzerspezifischen Anmeldung
in der Session.


> Nun hab ich mir Session nochmal genauer angesehen.
> Eine Session wird ja in einem ganz "normalen" File gespeichert. Wenn ich 
> nun dieses File in einem selbsdefinierten Verzeichnis ablege
> session_save_path ('/mein/Pfad/zum/Verzeichnis')
> sollte dort ja dann eine einzige Datei vorhanden sein.

nein - denn zum Überprüfen ob ein Benutzer angmeldet ist musst du ja seine
Session erstmal starten - sprich du must für jeden Benutzer der eine
Session-ID liefert seine Session starten - weil du erst dann nachschauen
kannst ob er überhaupt ncoh/schon angemeldet sein darf, weil du erst dann
weißt wer dieser Benutzer überhaupt ist.


> Da Sessions in 
> den Grundeinstellungen beendet werden, wenn der Browser geschlossen wird 
> (richtig?), müsste diese Datei verschwinden, automatisch vom System 
> gelöscht werden. Liege ich damit soweit erstmal richtig?

nicht ganz, erst wenn die 'lifetime' abgelaufen ist.


> Wenn ja, müsste ich doch nun beim Login nur nachgucken, ob in dem 
> Verzeichnis eine Datei liegt, wenn ja, Login abbrechen, wenn nein, darf 
> der User rein da.
> Kann mir jemand die Funktion verraten, mit welcher ich ermittle, ob eine 
> Datei in einem bestimmten Verzeichnis vorhanden ist? Dabei ist es 
> unerheblich, welchen Namen die Datei hat, ich will ja nur wissen, ob da 
> eine ist oder nicht.

http://php.net/scandir


-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive