web-dev-qa-db-ja.com

iOS Safariの問題の永続的なローカルストレージ

私は現在、セキュリティ目的(ユーザーデータの保護)のためにiframe内に配置され、他のWebサイトでホストされているWebアプリケーションに取り組んでいます。安全でないデータのセッション状態を維持するために、ユーザー機能のためにローカルストレージに一部のデータを書き込みます。つまり、「backgroundColour」を「red」として保存するユーザーの背景色を記憶します。

ただし、現在MacOS SafariとChromeおよびInternet Explorer 11で動作する)iOS Safariで次の2つの問題が発生しました。

問題1:iOSを強制終了したときにローカルストレージが保持されない

  1. ユーザーがホストのWebサイトwww.Host.comに移動すると、別のドメインwww.example.comからiframeコンテンツが読み込まれます
  2. その後、ユーザーはiframeを操作して、自分の背景色の設定をローカルストレージに保存します。
  3. 次に、ユーザーはSafariを強制終了するか、ナビゲートしてからSafariを強制終了します。
  4. ホストのウェブサイトに戻る

予期される動作:localStorageにはbackgroundColourプロパティが含まれています

実際の動作:ローカルストレージが空です

問題2:異なるサイトでiframeコンテンツを使用すると、ローカルストレージが利用されません

  1. ユーザーがホストのWebサイトwww.Host.comに移動すると、別のドメインwww.example.comからiframeコンテンツが読み込まれます
  2. その後、ユーザーはiframeを操作して、自分の背景色の設定をローカルストレージに保存します。
  3. ユーザーがwww.awesomesite.comに移動します。www.awesomesite.comにも、手順1のドメインからのiframeコンテンツが含まれていますwww.example.com

期待される動作:ローカルストレージはiframeのDNSに反するため、異なるサイト間で保持されます

実際の動作:ローカルストレージが空です

誰かがこれを以前に経験したことがありますか?人々が見つけた回避策はありますか?これはiOS Safariのバグですか?私は何か間違ったことをした?

乾杯

8
Elliot Smith

問題1はSafariの動作であり、コードを使用して外部から変更することはできません。 Appleで機能のリクエストまたはバグレポートを開いてください。

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

Issue 2:残念ながら、「サードパーティのローカルストレージ」を使用している手法は、追跡テクノロジで採用されている手法です。最近のプライバシープッシュにより、すべてのブラウザがサードパーティのCookieおよびその他のローカルストレージに対してより厳しいルールを作成するようになりました。プライバシー設定により、ユーザーエクスペリエンスに一貫性がなくなることがわかります。サードパーティの場合、ローカルストレージの信頼性は期待できません。

SEE:IframeでサードパーティのCookieをSafari用に設定するための回避策はありますか?

そして

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

そして

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

2
HackSlash