Frage

Ist es posible Benutzer zu benachrichtigen, die Sitzung abgelaufen ist? Kann Browser fungieren als Server und erhält eine solche Meldungen?

Eine Lösung wäre, JavaScript zu generieren, den Countdown auf Client-Seite hat und benachrichtigt Client am Ende, aber ich bin interresse wenn es postible ist ihm die erste Art und Weise zu tun?

Und was sind die Folgen des ersten Ansatz? Gibt es Sicherheitsbedenken?

Was posable Implementierung in django wäre zum Beispiel?

War es hilfreich?

Lösung

könnten Sie haben die JavaScript den Server regelmäßig nach Meldungen abfragen (alle 30 Sekunden, sagen), mit XMLHTTPRequest eine URL zu überprüfen. Wenn die Sitzung beendet, könnte der Server etwas an dieser URL setzen, die es gibt, und dann könnte eine Meldung aufgetaucht werden. Dies ist, wie Stackoverflow die Benachrichtigungen implementiert, dass jemand anderes eine Frage bereits beantwortet hat, wenn man in der Mitte der Komposition eine Antwort ist.

Andere Tipps

Sie können unter Komet aussehen wollen, obwohl ich einen JavaScript-Timer denken wäre zu brechen eine viel bessere Lösung ist es weniger wahrscheinlich, und einfacher zu implementieren.

Ich kann nicht von irgendwelchen Auswirkungen auf die Sicherheit denken, wie Sie nur eine Ablaufbenachrichtigung bieten, nicht tatsächlich in diesem Schritt alle authentifizierten tun.

Sie suchen nach einer Art von Komet -Typ Sache. Die wahrscheinlich einfachste „Server-Push“ können Sie tun, ist die Abfrage des Servers.

In der Tat in Django gibt es keine serverseitige Ablauf, wenn Sie Dateisystem verwenden oder Datenbank-Engine => es wird Ihr Client Cookie Session-ID Weicht abläuft. Andernfalls, wenn Sie Cache-basierte Sitzung verwenden, können Sie den Cache-Ablauf auf einen größeren Wert als der Session-Cookie Ablauf festgelegt.

Ein dann erklären, einfach ein Cookie ohne Ausatmung Flagge bei der Anmeldung den Client-Browser, und überprüfen Sie auf jeder Seite der Session-ID: wenn es kein Session-ID-Cookie ist aber Ihr „Cookie-Flag“, wird die Sitzung abgelaufen. Es besteht keine Notwendigkeit, den Server zu überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top