私は現在、セキュリティ目的(ユーザーデータの保護)のためにiframe内に配置され、他のWebサイトでホストされているWebアプリケーションに取り組んでいます。安全でないデータのセッション状態を維持するために、ユーザー機能のためにローカルストレージに一部のデータを書き込みます。つまり、「backgroundColour」を「red」として保存するユーザーの背景色を記憶します。
ただし、現在MacOS SafariとChromeおよびInternet Explorer 11で動作する)iOS Safariで次の2つの問題が発生しました。
問題1:iOSを強制終了したときにローカルストレージが保持されない
www.Host.com
に移動すると、別のドメインwww.example.com
からiframeコンテンツが読み込まれます予期される動作:localStorageにはbackgroundColourプロパティが含まれています
実際の動作:ローカルストレージが空です
問題2:異なるサイトでiframeコンテンツを使用すると、ローカルストレージが利用されません
www.Host.com
に移動すると、別のドメインwww.example.com
からiframeコンテンツが読み込まれますwww.example.com
期待される動作:ローカルストレージはiframeのDNSに反するため、異なるサイト間で保持されます
実際の動作:ローカルストレージが空です
誰かがこれを以前に経験したことがありますか?人々が見つけた回避策はありますか?これはiOS Safariのバグですか?私は何か間違ったことをした?
乾杯
問題1はSafariの動作であり、コードを使用して外部から変更することはできません。 Appleで機能のリクエストまたはバグレポートを開いてください。
https://www.Apple.com/feedback/safari.html
Issue 2:残念ながら、「サードパーティのローカルストレージ」を使用している手法は、追跡テクノロジで採用されている手法です。最近のプライバシープッシュにより、すべてのブラウザがサードパーティのCookieおよびその他のローカルストレージに対してより厳しいルールを作成するようになりました。プライバシー設定により、ユーザーエクスペリエンスに一貫性がなくなることがわかります。サードパーティの場合、ローカルストレージの信頼性は期待できません。
SEE:IframeでサードパーティのCookieをSafari用に設定するための回避策はありますか?
そして
そして
https://groups.google.com/forum/#!topic/mozilla.dev.platform/vm81cSx4teo