NeoVanGoth: History-Tracking innerhalb einer Site

Beitrag lesen

Servus,

ich habe ein etwas seltsames Anliegen...

In den internen Links eines Projekts speichere ich den Link-Ursprung (um in beim Request in eine Session einzugeben und so den Weg-durch-die-Site in der Session zu tracken) sowie die Session-ID (geht nicht per Cookie weil bei mehreren geöffneten Fenstern jeweils einzelne Histories gespeichert werden müssen).

Eine URL sieht also z.B. folgendermaßen aus: login.php?refer=index.php&refername=Home&session_id=9424f4d4b7d4e7f25d47b3a414d7fef8

Schlaue User kommen jetzt immer wieder auf die Idee einzelne Seiten irgendwo zu verlinken und geben dabei natürlich die Refer-Strings sowie die Session-ID mit an. Macht zwar aufgrund von IP-Bindung in einer Session nicht soooo gefährlich, aber sehr unschön.

Gegen refer und refername habe ich ein Mittel gefunden, nämlich indem ich die Daten nach dem Request in die Session schreibe und daraufhin einen Redirect auf die echte Seite mache. Funktioniert, aber produziert natürlich doppelt so viele Page-Hits und zieht jedesmal der Overhead der Session-Verarbeitung mit. Gegen die Session-ID in der URL ist aber kein Kraut gewachsen.

Irgendwie bin ich dabei in einer Sackgasse angelangt... würde ich die Daten in einem Cookie speichern würde ich Anzeige umgehen, würde aber bei mehreren geöffneten Fenstern die komplette History durcheinanderbringen.

Folgendes wäre mir noch eingefallen, ich habe aber keine Ahnung ob das umsetzbar ist und bin auch zu doof, etwas darüber im Netz zu finden:
1. Bezug der Daten im Cookie auf eine Art "Fenster-ID". In diesem Fall müsste man per Javascript oder PHP oder wieauchimmer herausfinden ob eine Seite in "Fenster 1" oder "Fenster 2" bzw. "Tab 1" oder "Tab 2" geöffnet ist. Ich bezweifle allerdings, dass das möglich ist.
2. Speichern der History per Javascript. Allerdings habe ich keine Ahnung, ob ich Javascript-Variablen über Requests hinweg benutzen kann ohne eben Session-Daten oder Cookies zu benutzen.
3. Die Seitenstruktur insoweit ändern, dass jedes Dokument nur einen bestimmten Referer haben kann. (seeeeeehr unschön)
4. Die History rauswerfen und den User dem Back-Button überlassen (noch viel unschönerer ;))
5. verzweifeln und alles so lassen wie es ist *g*

Für Hilfe, Ideen oder Anhaltspunkte wäre ich sehr dankbar :)

Danke an alle,
Neo / Tom