dedlfix: Automatisches Logout

Beitrag lesen

echo $begrüßung;

Ich vertrete die Meinuung, dass der "Login-Status" in der Sessiondatei nichts zu suchen hat, sondern in die Datenbank gehört. Dort kann man ihn ersten immer keicht abfragen und zweitens auch administrativ verändern.

Aber dafür wurde der Session-Mechanismus erfunden. Leicht abfragen kann man den Status auch dort, "administrativ verändern" kann die jeweilige bevorzugte Skriptsprache es auch.

Da du als Administrator nicht weißt, welche Session-ID der Benutzer X grad hat ist eine administrative Änderung nicht so einfach möglich.

Es ist leicher, ein Select oder Update auf die Datenbank abzufeuern, als hunderte von Sessiondateien zu durchforsten, ob sie denn zufällig dem User gehören, den man rausschmeißen will.

In einer zugewiesenen Session hat man (sollte man) nur Zugriff auf die Sessionvariablen des jewiligen zugeordneten Benutzers (haben). Außerdem frage ich mich, wann man in die Situation kommt, "hunderte von Sessiondateien" durchforsten zu wollen.

Hast du eine bessere Idee, wie man als Administrator sonst die Session-Datei des Anwenders X finden kann, um darin dessen "Eingeloggt"-Zustand zu ändern?

Sessionbasierte Daten sollten in einem (Überraschung!) Session-Mechanismus gespeichert werden, nicht in einer Datenbank.

So manch ein Session-Mechanismus (Überraschung!) verwaltet seine Session-Daten in einer Datenbank. Auch PHP kann das mit einem selbst geschriebenen Session-Handler.

echo "$verabschiedung $name";