Mailinglisten-Archive |
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