Kundenzone - Useraufenthaltsdauer

morgenstern

Erfahrenes Mitglied
Hallo Leute!

Ich muss unsere Kundenzone updaten. Darunter fällt der Punkt: Useraufenthalt speichern.

Ich arbeite mit einem Login/User-System auf Sessionbasis, welches eine max. Untätigkeitszeit hat, falls man diese überschreitet, wird man ausgeloggt.

Startzeit entnehmen ist ja eindeutig, nur gibt es ein paar Fälle beim Logout, der mich nachdenklich machen.

Die Auslogzeit bei der Betätigung des Logout-Buttons ist der Optimalfall. Nur was tun, wenn der User den Browser oder das browserfenster schliesst. Mir fallen nun 2 Möglichkeiten ein, die ich gerne mit euch besprechen möchte (nicht die Umsetzung, sondern die Theorie und ob es bessere Methoden gibt, die Programmierung sollte kein Problem sein.)

Möglichkeit 1:
Da ich immer eine maximale Untätigkeitsdauer habe, könnte ich diese verwenden und in die Datenbak schreiben als Aufenthaltsdauer. Falls der User zu lange untätig ist, stimmt die Zeit sogar. Falls er klickt erhöht sich die Zeit dementsprechend. Nur was passiert, wenn er das Browserfenster schliesst. Ich habe zwar eine Zeit in der Datenbank stehen, aber Daumen mal Pi: die Untätigkeitszeit ist 6 Minuten, er schliesst das Browserfenster aber bereits nach 2 Minuten. D.h. ich habe eine Ungenauigkeit von 4 Minuten.
Hier müsste ich mit einer ungefähr Zeit arbeiten.

Möglichkeit 2:
beim schliessen des Browsers/fensters wird eine Javascript aktiv, welches ihn informiert, dass er sich ausloggen solle - auch wenn er dies nicht macht, könnte ich diesen Zeitpunkt als Logout speichern. Nur mag ich solche Lösungsansätze nicht, was passiert, wenn der User kein javaScipt aktiviert hat? Nichts und ich hab wieder meine alte Methode und viele user mögen solche PopUps auch nicht (verständlich).

Nun: was schlagt ihr vor? Gibt es Lösungen bezüglich des browserquit? Oder sollte ich meine erste Version der Lösung verwenden?

Danke.
 
Du könntest via Ajax alle 10 Sekunden ein "Signal" an die Datenbank schicken: "User ist online". Sobald das Signal nicht mehr kommt, weisst du das er nicht mehr aktiv auf deiner Seite ist.
Tobee
 
Prinzipiell muss man ja nur die UserID übertragen, Nachteil von JSON ist, dass es ein Sicherheitsrisiko ist, sich Daten schicken zu lassen vom Client (andersrum ist es sicherer), daher wäre XML besser, was zwar größer ist (wegen der Komplexität) aber mehr Sicherheit bietet!
 
Die Frage ist, ob der Aufwand dem Nutzen überhaupt gerecht wird. Wozu wird also diese Information benötigt?


Prinzipiell muss man ja nur die UserID übertragen, Nachteil von JSON ist, dass es ein Sicherheitsrisiko ist, sich Daten schicken zu lassen vom Client (andersrum ist es sicherer), daher wäre XML besser, was zwar größer ist (wegen der Komplexität) aber mehr Sicherheit bietet!
Beide Datenformate, XML und Json, unterschieden sich eigentlich nur in der Auszeichnungsform der Daten. Die Daten selbst sind aber quasi nur Klartext. Die Sicherheit ist also bei beiden gleich.
 
Gut, habe gerade in einer Besprechung erfahren, dass Ungefährwerte reichen.

Die Daten werden nur zur Auswertung benötigt, wie lange sich die Kunden in der Datenbank aufhalten und wie sich das bei Updates der Daten ändert usw.
 
Beide Datenformate, XML und Json, unterschieden sich eigentlich nur in der Auszeichnungsform der Daten. Die Daten selbst sind aber quasi nur Klartext. Die Sicherheit ist also bei beiden gleich.
JSON hat eine geringere Größe. ( PHP Magazin Februar/März Seite 75 )
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück