Sessions und AJAX Requests

pyr0t0n

Erfahrenes Mitglied
Einen wunderschönen guten Abend,

folgendes Problem habe ich derzeit und hoffe das mit jemand von euch eine Lösung näher bringen kann.

Also ich habe einen Session Handler der meine Sessions in eine MySQL einträgt. Soweit so gut Nutzer können sich einloggen und werden auch nach gewisser Zeit des Nichtstuens ausgeloggt.

Nun habe ich jedoch eine Seite welche ca. alle 10 Sekunden einen AJAX Requests absendet und eine Warteschlange neulädt. Jedesmal wenn nun dieser besagte AJAX Request abgesendet wird, wird auch die Session des jeweiligen Users erneuert und solange der User dann auf dieser Seite bleibt, wird er auch nicht ausgeloggt. Das jedoch möchte ich. Ich möchte das der Nutzer auch ausgeloggt wird, da er ja von sich aus keine Aktion mehr getätigt hat.

Was kann ich da am besten tun?

Danke schonmal für eure Mühen.

Beste Grüße
pyr0t0n
 
Oder du lässt parallel zum Zähler auf dem Server, einen Zähler clientseitig laufen, der ermittelt, zu welchem Zeitpunkt ein Nutzer als abgemeldet gilt. Daneben kannst du auch einen Event-Listener für das Ereignis onunload registrieren, der einen Nutzer abmeldet, wenn dieser diese Seite verlässt. Dies müsstest du jedoch unterbinden, wenn der Nutzer auf einen Verweis geklickt hat (nachdem logischerweise auch ein unload stattfindet). Ansonsten aktualisierst du die Session nur, wenn die Seite komplett neu geladen wird.
 
Dann müsste ich ja theoretisch auch hingehen können und eine Verbindung zwischen User Tabelle und Session Tabelle herstellen und beim User einen timestamp "lastaction", oder ähnlich, mit führen und den dann auf Ablauf prüfen. Dieser wird dann nur beim Aufruf der eigentlichen Seiten "manuell" erneuert und beim Ablauf die Session gelöscht welche zu dem Benutzer gehört.
 
Zurück