Ja mein problem ist wie oben beschrieben, ich habe eine internetseite mit einem reg, log in und einem chat nun möchte ich mich irgendwie automatisch ausloggen lassen, fals man irgendwie 30 minuten nichts mehr gemacht hat. Das ganze möchte ich ohne javascript ajax und co machen. Hat da jemand ne idee wie man das machen könnte?
automatisches logout bei inaktivität ohne javascript ajax und co
-
-
wenn du den Timestamp des letzten Request von dem User in der Datenbank hast, dann brauchst du lediglich alle X Minuten einen Request abzusetzen, der prüft ob deine vorgegebenen 30Minuten verstrichen sind.
Ich würde dir empfehlen die Polltime nicht zu niedrig zu setzen, da du sonst unnötig viele Requests abfeuerst. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
Guten Morgen!
Am einfachsten ist es meines Erachtens, wenn du eine Userinformation (wie z.B. Die UserID oder ähnliches) in die Session (bzw. das dem zugrunde liegende Cookie) schreibst und diese mit einer Lifetime versiehst. Wenn du dann bei einem eingehenden Request dir die Information aus dem SessionCookie holst und diese nicht mehr bekommst, weil das SessionCookie abgelaufen ist, gibst du dem User einfach die Seite als nicht eingeloggt zurück. Dadurch sparst du dir unnötige Polls oder Requests.
Siehe dazu auch hier: de2.php.net/manual/de/function.session-set-cookie-params.php
Liebe Grüße
Bodo06 -
vince schrieb:
wenn du den Timestamp des letzten Request von dem User in der Datenbank hast, dann brauchst du lediglich alle X Minuten einen Request abzusetzen, der prüft ob deine vorgegebenen 30Minuten verstrichen sind.
Ich würde dir empfehlen die Polltime nicht zu niedrig zu setzen, da du sonst unnötig viele Requests abfeuerst. -
SJay96 schrieb:
Das ganze möchte ich ohne javascript ajax und co machen. Hat da jemand ne idee wie man das machen könnte?
misterx59 schrieb:
vince schrieb:
wenn du den Timestamp des letzten Request von dem User in der Datenbank hast, dann brauchst du lediglich alle X Minuten einen Request abzusetzen, der prüft ob deine vorgegebenen 30Minuten verstrichen sind.
Ich würde dir empfehlen die Polltime nicht zu niedrig zu setzen, da du sonst unnötig viele Requests abfeuerst.
Müssen tut er das nicht. Ich habe in dem Post den vorletzten Satz überlesen und war wohl mit meinen Gedanken wo anders
SJay96 schrieb:
Das ganze möchte ich ohne javascript ajax und co machen. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
Eine einfach Möglichkeit wäre die Seite nach einem bestimmten Zeitraum von selbst neu laden zu lassen.
Es gibt einige Seiten die das so lösen.
Mehr Infos dazu hier:Automatische Weiterleitung zu anderer Adresse (Forwarding) -
Du meinst also eine endlosschleife mit meta content zu machen und dann jedesmal ne überprüfung?
-
Exi schrieb:
Eine einfach Möglichkeit wäre die Seite nach einem bestimmten Zeitraum von selbst neu laden zu lassen.
Es gibt einige Seiten die das so lösen.
Mehr Infos dazu hier:Automatische Weiterleitung zu anderer Adresse (Forwarding)
blöd nur, wenn du selber grade aktiv bist, beispielsweise einen Text schreibst und die Seite dann automatisch reloaded wird.
SJay96 schrieb:
Du meinst also eine endlosschleife mit meta content zu machen und dann jedesmal ne überprüfung?
Eine Endlosschleife ist etwas anderes. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
Da du es ohne JS und co machen willst, bleibt denke ich nur eine Lösung in PHP via Sessions/Cookies oder wie von Exi beschrieben mit einem Meta-Reload. Der allerdings den Nachteil hat, dass er dich (wie Vince schon sagte) mitten beim Schreiben eines Posts o.Ä. erwischen kann und dann deine Eingaben weg sind (Was du allerdings via JS verhindern könntest, indem du einfach jedes mal bei einer Aktion des Users den Timer wieder hoch setzt. Aber ohne den Einsatz JS ...
).
-
vince schrieb:
blöd nur, wenn du selber grade aktiv bist, beispielsweise einen Text schreibst und die Seite dann automatisch reloaded wird.
Ja soweit hatte ich nicht gedacht -
Hallöchen...
Ist auch die beste Alternative... hab bei mir:
1. Den 1 timer über Ajax (wo er jedesmal eine neue Stamp setzt,wenn der user noch Online ist),
2. Ein Eingabeframe, wo er nach jeder Eingabe eine neue stamp für die eingabe setzt,
3. Ein Überprüfungsframe (wo er überprüft ob der User noch Online ist (10sec) und ob in eine gewissenzeit eine Eingabe (3600sec) getätigt wurde,
sollte eins von den beiden sachen kleiner als der timestamp (-die zeit Z.b. 3600) sein, wird der user aus der session gelöscht.
greets
Toxic/ICC -
Ich kann ja die seite mit dem meta tag "extern" laufen lassen und dann mit <object> oder so einbinden.
UPDATE oder würde da sogar include "meta_seite.php"; reichen?
UPDATE So habs mit meta einigermassen hinbekommen. thx leute
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Tags