it-swarm.com.de

Permanenter lokaler Speicher bei iOS Safari-Problemen

Ich arbeite zurzeit an einer Webanwendung, die aus Sicherheitsgründen (Schutz von Benutzerdaten) in einem Iframe gespeichert ist und auf anderen Websites gehostet wird. Um den Sitzungsstatus für unsichere Daten beizubehalten, schreiben wir einige Daten für die Benutzerfunktionalität in den lokalen Speicher, d. H. Wenn wir uns die Hintergrundfarbe des Benutzers merken, speichern wir "backgroundColour" als "rot".

Bei iOS Safari sind jedoch die folgenden Probleme aufgetreten, die derzeit unter MacOS Safari und Chrome sowie dem Internet Explorer 11 funktionieren. 

Problem 1 : Der lokale Speicher wird nicht beibehalten, wenn ich das Beenden von iOS erzwinge

  1. Der Benutzer navigiert zur Host-Website, www.Host.com, die meinen Iframe-Inhalt von einer anderen Domain lädt, www.example.com.
  2. Der Benutzer interagiert dann mit dem iframe und speichert seine Hintergrundfarbeneinstellungen, die ich im lokalen Speicher abspeichere. 
  3. Der Benutzer erzwingt dann Safari oder navigiert weg und beendet dann Safari. 
  4. Navigieren Sie zurück zur Host-Website

Erwartetes Verhalten: localStorage enthält die backgroundColour-Eigenschaft 

Tatsächliches Verhalten: Der lokale Speicher ist leer 

Problem 2 : Die Verwendung des Iframe-Inhalts auf verschiedenen Websites verwendet keinen lokalen Speicher

  1. Der Benutzer navigiert zur Host-Website, www.Host.com, die meinen Iframe-Inhalt von einer anderen Domäne lädt, www.example.com.
  2. Der Benutzer interagiert dann mit dem iframe und speichert seine Hintergrundfarbeneinstellungen, die ich im lokalen Speicher abspeichere. 
  3. Der Benutzer navigiert zu www.awesomesite.com, auf der sich auch mein iframe-Inhalt aus der Domäne in Schritt 1 befindet. www.example.com

Erwartetes Verhalten: Der lokale Speicher wird zwischen den verschiedenen Standorten beibehalten, da der Speicher gegen den DNS des Iframes gerichtet ist 

Tatsächliches Verhalten: Der lokale Speicher ist leer 

Hat jemand das schon mal erlebt? Gibt es Workarounds, die die Leute gefunden haben? Ist das ein Fehler in iOS Safari? Habe ich etwas falsch gemacht? 

Prost

7
Elliot Smith

Problem 1 ist Safari-Verhalten und kann nicht extern mit Code geändert werden. Bitte öffnen Sie eine Funktionsanfrage oder einen Fehlerbericht mit Apple:

https://www.Apple.com/feedback/safari.html

Problem 2: Unglücklicherweise handelt es sich bei der von Ihnen verwendeten Methode "Drittanbieter-Speicher" um Tracking-Technologien. Der jüngste Datenschutz-Push hat dazu geführt, dass alle Browser strengere Regeln für Cookies von Drittanbietern und andere lokale Speicherungen festgelegt haben. Sie werden feststellen, dass die Datenschutzeinstellungen Ihre Benutzererfahrung inkonsistent machen. Sie können nicht davon ausgehen, dass Ihr lokaler Speicher als Drittanbieter zuverlässig ist.

SEE:Gibt es eine Problemumgehung, um Drittanbieter-Cookies in Iframe für Safari zu setzen?

UND

https://medium.com/@bluepnume/safaris-new-tracking-rules-and-enabling-cross-domain-data-storage-85241eea7483

UND

https://groups.google.com/forum/#!topic/mozilla.dev.platform/vm81cSx4teo

2
HackSlash