Wir haben eine Website (www.example.com), die Benutzer zu einer Reihe von Seiten Dritter weiterleitet, um die Zahlungsdetails zu überprüfen, was wir in einem Iframe tun. Zunächst wird eine lokale Seite von www.example.com in den Iframe geladen und der Benutzer wird zur URL eines Drittanbieters umgeleitet. Sobald die Schritte von Drittanbietern vom Benutzer ausgeführt wurden, werden sie auf eine Seite auf unserer Website (www.example.com) innerhalb des Iframes zurückgeleitet.
Dies funktioniert in allen von uns getesteten Browsern mit Ausnahme von IE 11, in dem unsere Cookies verloren zu gehen scheinen. Wir haben dies sowohl unter Windows 7 als auch unter 8.1 sowohl im Desktop- als auch im "Metro" -Modus überprüft, und das Problem betrifft alle Versionen.
Wenn ein Benutzer unsere Website durchsucht, setzen wir ein Sitzungscookie, das korrekt an die Erstanbieter-Seite gesendet wird, die ursprünglich in den Iframe geladen wurde. Sobald der Benutzer jedoch einige Seiten von Drittanbietern in diesem Iframe durchgesehen hat, wird das Sitzungscookie nicht mit der nächsten Anforderung gesendet.
Wenn wir die Datenschutzeinstellung von IE 11 auf den niedrigsten Wert setzen, verschwindet dieses Problem und die Dinge funktionieren wie erwartet.
Alle möglichen Lösungen, die ich bisher gefunden habe, beziehen sich auf P3P-Header. Wir haben einen gültigen und korrekten P3P-Header und eine XML-Richtliniendatei eingerichtet, und dieses Problem tritt nur in IE 11 auf.
Update: Wir haben einige andere Cookies mit JS gesetzt. Diese bleiben alle wie erwartet bestehen. Die Unterschiede sind das Ablaufdatum (1 Jahr für JS-Cookies, 1 Monat für Sitzungscookies), die Domain (explizit "example.com" für JS-Cookies, leer für Sitzungscookies) und ob sie "nur HTTP" sind (falsch für JS Cookies, zutreffend für Sitzungscookies).
Ich habe versucht, alle diese Optionen gemäß den JS-Cookies für das Sitzungscookie festzulegen, aber es machte keinen Unterschied.
Update 2: Nach weiteren Tests konnte ich keinen Testfall erstellen, der dieses Problem neu erstellt. Alle zusätzlichen Cookies, mit denen ich im Live-Code zu testen versuche, scheinen jedoch ebenfalls fehlerhaft zu sein, selbst wenn sie mit genau demselben Code wie die funktionierenden JS-Cookies gesetzt sind. Zusamenfassend; Ich habe noch kein Muster für die Cookies gefunden, die funktionieren und für diejenigen, die nicht funktionieren.
Eine potenziell interessante Sache ist, dass die Cookies nicht gelöscht werden, sondern nur nicht an die endgültige Anfrage gesendet werden. Wenn eine andere Seite geladen wird, werden die Cookies auf magische Weise wieder angezeigt und gesendet. was mich glauben lässt, dass dies ein Fehler ist, der Iframes und P3P umgibt.
Update 3 (Tag 3): Der Umgang von IE 11 mit Cookies verwirrt mich weiterhin. Je weiter ich in das Labyrinth von Microsoft reise, desto verlorener werde ich zwischen den sich bewegenden Wänden. Und hier drin sind Geister. Fragmente von halbträumten Sicherheitsrichtlinien, die sich zu einer ätherischen Kreatur verwoben haben, die mich bei jeder Bewegung verfolgt und verspottet. Zuerst war ich erstarrt, verängstigt und entsetzt über die kaum zu ergründende Form, die gerade außer Sichtweite schoss, aber mit jeder Stunde bekomme ich mehr Trost aus der bloßen Kenntnis ihrer Nähe. Könnte dies genau das Tier sein, das ich hierher geschickt habe, um mich zu konfrontieren? Wie könnte ich in solchen Zeiten meinen einzigen Gefährten töten?