Problem mit der Sitzungsfreigabe in Firefox

910
Sathya

Firefox (3.6.18) gibt die Sitzung frei, wenn die Anwendung auf mehreren Registerkarten geöffnet wird. Ich möchte dies verhindern, auf jeder geöffneten Registerkarte sollte eine neue Sitzung vorhanden sein, damit der Datenstatus in der Sitzung nicht beschädigt werden darf.

Jede diesbezügliche Hilfe wird sehr geschätzt.

1
Informationen zum verwendeten Web-Framework? Eine Lösung könnte darin bestehen, Cookies nicht zuzulassen und die Sitzungs-ID oder ein Token immer an FF und zurück an den Server zu übertragen. vor 12 Jahren 0

2 Antworten auf die Frage

5
Vineet Reynolds

Es gibt kein Problem mit Firefox oder sogar mit der von Ihnen erwähnten Version. Ich bin der Meinung, dass Ihr Verständnis davon, wie Browser Session-Cookies verfolgen, etwas unvollständig ist. Browser senden immer eine Anfrage an einen Server mit den Cookies für die Serverdomäne, die sie ausgestellt hat. Dies ist unabhängig von der Browser-Registerkarte, die den Cookie ausgegeben hat.

Wenn Sie nicht möchten, dass Sitzungscookies auf Registerkarten verwendet werden, können Sie über seitenbezogene Bezeichner verfügen, um jede Seite zu unterscheiden, die der Server einem Client anzeigt. Wenn die entsprechende Registerkarte eine Anforderung zurücksendet, muss sie auch die seitenabhängige Kennung senden, damit der Server zwischen Registerkarten ausgegebene Anforderungen unterscheiden kann. Dies würde Ihnen nicht helfen, wenn ein Benutzer einen Link mit dieser seitenabhängigen Kennung von einer Registerkarte zur anderen kopiert.

Wenn Sie mit der Verwendung von seitenabhängigen Bezeichnern fortfahren möchten, müssen Sie lediglich die eingehenden Anforderungsparameter für den Seitenbezeichner parsen. Wenn keine vorhanden ist, können Sie mithilfe einer PRNG eine generieren und eine Antwort mit dieser Seiten-ID auf der Seite senden (z. B. als ausgeblendetes Feld in einem Formular oder in der URL, jedoch niemals als Cookie).


Hinweis: Wenn Sie nach browserspezifischen Funktionen suchen, verfügen Firefox 3 und 4 nicht über die Funktion "Neue Sitzung" in IE9, mit der Benutzer neue Sitzungen über Browserfenster erstellen können. Die Funktion "Neue Sitzung" von IE9 scheint auch nicht zu funktionieren, wenn der Server permanente Cookies verwendet, um den Benutzer zu verfolgen.

2
Jigar Joshi

Sie können nicht,

Sie können die URL umschreiben und die jSessionId mit jeder URL anfügen und von Hand nachverfolgen. aber es ist nicht der Weg, um die Dinge zu tun