PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prüfen ob User die Site in mehr als einem Browserfenster geöffnet hat?


Brudertac
2005-08-04, 08:10:40
Hallo,

gibt es einen Weg zu prüfen (oder besser zu verhindern) ob der User eine Site in mehr als einem Fenster anschaut ?

Ich hab hier a bisserl mit Sessions rumgespielt und wenn die Site
in einem zweiten Fenster geöffnet wird dann kann da was durcheinander kommen. Drum würd ich den dann gerne darauf hinweisen.

Verwendet wird ASP.

thx for Hints

WhiteVelvet
2005-08-04, 10:18:30
Naja, Du könntest die HTML-Seite die nur einmal geöffnet wird (sprich z.B. einen Frameset, oder den Rahmen der Website) einen Eintrag in eine MySQL-Datenbank machen, z.B. visited=true oder ähnliches. Wenn der User dann einen zweiten Browser öffnet wird der Frameset nochmal geladen, fragt die Datenbank ab und merkt, dass da schon ein Wert steht.... hmmm allerdings weiss ich nicht, wie man diesen Wert wieder löscht. Vielleicht eine Zeit-Variable, deren Wirkung nach 20 Minuten erlischt. Irgendwie so...

Gast
2005-08-04, 10:21:19
also können dann von mehreren usern die hinter einem proxy sitzen nur immer einer die seite anschauen?

Brudertac
2005-08-04, 10:30:33
Also sowas ähnliches hatte ich mir auch schon überlegt.

Besucher der Site müssen sich sowieso Anmelden also wäre das mal kein Problem. Allerdings genau das Thema "wieder aus der DB löschen" bereitet
mir Kopfschmerzen.
Ich habe zwar einen Logoff Button aber der wird ja nicht Garantiert von allen Usern benutzt.
Ich muss also noch den schlechten Fall "Browser Fenster wird einfach geschlossen" abfangen.

Ich werds mal so versuchen.

1) db Eintrag wird wieder gelöscht bei Logoff des Users
2) wenn der User ein zweites Fenster öffnet dann bekommt er eine
entsprechende Fehlermeldung mit der Option den Eintrag zu löschen.
Ich will das ja gar nicht extremst Reglementieren sondern nur auf den Umstand hinweisen und den User Sensibilisieren.

Da gibts doch noch diese "global.asa" Kann man da vielleicht was mit anstellen ?

WhiteVelvet
2005-08-04, 12:50:10
Möglich wäre auch ein JavaScript, das alle 5 Sekunden die aktuelle UNIX-Time in die Datenbank setzt. Diese gilt dann für 5 Sekunden. Wird irgendwann kein neueres Datum gesetzt hat der User den Browser geschlossen und Du kannst den Wert ignorieren.