我制作了一个网络应用,可以在localStorage
中存储持久用户数据。我在我的网站上启用了HTTPS,而且我真的想在HSTS上启用开关。但是,据我所知,localStorage
认为http://example.com和https://example.com不同,因此如果现有用户被重定向到我的网站的HTTPS版本,他们将无法再访问他们的数据(虽然它仍然存在)。
长期来看,我想构建这个应用程序的新版本,为数据存储提供更多选择。但在短期内,我能想到的只是一个过渡期,要求http版本的用户通过两个版本都可以访问的其他(未知)机制来迁移他们的数据。
这是对我的选择的公平评估吗? https://example.com是否有办法访问http://example.com的localStorage
?如果没有,我可以在任何地方放置用户数据,这样两个版本都可以访问它,但其他网站可以吗?或者我应该让他们下载他们的数据并重新上传?从UX或(用户)安全角度来看,这看不出理想。
请注意,此网络应用根本不与服务器进行互动;一切都发生在localStorage
和客户端。
答案 0 :(得分:1)
不幸的是,似乎没有任何方法可以直接从https站点检索网站安全性较低的http副本的localStorage内容。 reference
我看到的解决方法是使用iframe在不安全的网站上加载特殊页面,类似于this answer。一般理论是在iframe中使用postMessage
将带有localStorage数据的消息发送回安全页面。
不幸的是,这种方法不允许您完全禁用http
,否则您的iframed http副本将无法加载。