Постоянное локальное хранилище в iOS Safari - PullRequest
0 голосов
/ 10 октября 2018

В настоящее время я работаю над веб-приложением, которое находится в iframe в целях безопасности (для защиты пользовательских данных) и размещено на других веб-сайтах.Чтобы сохранить состояние сеанса для небезопасных данных, мы записываем некоторые данные в локальное хранилище для функциональности пользователя, т. Е., Запоминая цвет фона пользователя, мы сохраняем «backgroundColour» как «красный».

Однако я столкнулся со следующими двумя проблемамина iOS Safari, который в настоящее время работает на MacOS Safari, Chrome и Internet Explorer 11.

Выпуск 1 : локальное хранилище не сохраняется при принудительном выходе из iOS

  1. Пользователь переходит на веб-сайт хоста www.host.com, который загружает содержимое моего iframe из другого домена, www.example.com
  2. Затем пользователь взаимодействует с iframe и сохраняет свои настройки цвета фона, которые я сохраняю в локальном хранилище.,
  3. Затем пользователь принудительно выходит из Safari или уходит, а затем принудительно выходит из Safari.
  4. Перейдите обратно на веб-сайт хоста

Ожидаемое поведение: localStorage содержит свойство backgroundColour

Фактическое поведение: локальное хранилище пусто

Проблема 2 : при использовании контента iframe на разных сайтах не используется локальное хранилище

  1. Пользователь переходит на веб-сайт хоста www.host.com, который загружает мой контент iframe издругой домен, www.example.com
  2. Затем пользователь взаимодействует с iframe и сохраняет свои настройки цвета фона, которые я сохраняю в локальном хранилище.
  3. Пользователь переходит на www.awesomesite.com, на котором также содержится содержимое iframe из домена на шаге 1, www.example.com

Ожидаемое поведение: локальное хранилище сохраняется междуразные сайты, потому что хранилище находится против DNS iframe

Фактическое поведение: локальное хранилище пусто

Кто-нибудь сталкивался с этим раньше?Есть ли обходные пути, которые люди нашли?Это ошибка в iOS Safari?Я сделал что-то не так?

Приветствия

1 Ответ

0 голосов
/ 19 октября 2018

Проблема 1 является поведением Safari и не может быть изменена извне с помощью кода.Пожалуйста, откройте запрос функции или отчет об ошибке в Apple:

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

Выпуск 2 : К сожалению, метод, который вы используете "стороннее локальное хранилище", являетсятехника, используемая технологиями слежения.Недавнее усиление конфиденциальности привело к тому, что все браузеры установили более строгие правила для сторонних файлов cookie и другого локального хранилища.Вы обнаружите, что настройки конфиденциальности сделают ваше взаимодействие с пользователем непоследовательным.Вы не можете ожидать, что ваше локальное хранилище будет надежным, когда вы являетесь третьей стороной.

SEE: Есть ли обходной путь для установки сторонних файлов cookie в Iframe для сафари?

И

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

И

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...