从HTTPS Web应用程序读取HTTP IndexedDB数据

w8rqjzmb  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(171)

我在应用程序上创建了数据并将其存储在IndexedDB中。
升级到HTTPS后,由于地址不同,数据消失,现在需要重新访问。
我尝试移除服务器上的证书,但没有效果。浏览器(iPad上的Brave)仍然强制使用HTTPS,即使我停用HTTPS Brave Shield 选项。
我的主要问题是我如何才能检索“不安全”的数据,同时访问域DNS设置、代码和浏览器。

qybjjes1

qybjjes11#

浏览器存储是源范围的。http://example.comhttps://example.com是不同的源。它们不能访问彼此的数据-它们具有不同的localStorage、不同的IndexedDB数据库集等。
源可以协作来共享数据。过去,您可以让来自https源的页面在http源中包含一个iframe,它们可以使用postMessage()进行通信来代理数据-即父框架向子框架发送消息,说“给予我你的数据”,子框架验证请求是否来自预期的源,将数据从数据库中取出,并将其发送回父节点。
这在Chrome中仍然有效,但浏览器通常会转向在第三方iframe中分区数据(因此,在顶级www.example.com窗口中看到的存储空间B.com与在www.example.com窗口中的B.com iframe中看到的存储空间不同A.com)。我相信非iframe(即通过window.open())在这里也会有效,尽管它会对用户造成更大的干扰。

相关问题