操作系统以及javascript/HTML5是否可以访问本地存储



当浏览器使用操作系统关闭时,我想读取浏览器的"本地存储"!

我想将客户端数据保存在本地存储中,然后关闭浏览器和互联网,然后让操作系统程序(windowsexe)访问和分析这些数据,然后将新数据写入本地存储区域,这样当浏览器重新启动时,新数据就在本地存储区中。

这应该是可能的,因为我的操作系统(即windows)可以读取并删除浏览器中的cookie"文件"。。。因此,假设一旦我知道了本地存储"文件"的格式,那么操作系统就是它所有文件的老板,所以它应该能够更改它们!

那么:如何使用"客户端.exe程序"读写JavaScript/HTML5/DOM"本地存储"呢?

失败:操作系统是否有其他方式可以将简单数据传入(传出)浏览器?

显然,所有这些都有巨大的潜在力量和巨大的潜在危险!

只有真正的操作系统能够安全地与浏览器交互,浏览器才能成为"未来的虚拟操作系统"!!

谢谢。

当然,本地运行的应用程序拥有适当的权限可以访问磁盘上的任何文件。然而,真正的问题是,一旦打开该文件,该怎么办?

考虑以下内容:

  • 每个浏览器(Chrome、Firefox、IE、Opera)都可能以自己的专有格式存储本地存储数据。你必须对这些格式进行逆向工程
  • 由于这些格式是实现细节(而不是API文档),因此它们可能会更改。这将破坏你的应用程序和/或损坏用户数据
  • 如果在浏览器打开时修改这些数据文件(即使有问题的页面没有打开),会发生什么?浏览器不希望他们的数据文件从下面变出来,所以你很可能会看到奇怪的行为

所有这些都意味着这是一个非常糟糕的想法。你在扰乱别人应用程序的内部;这是一个很大的禁忌。

你是否考虑过另一种方法?当我遇到类似的问题时,我只是在我的应用程序中实现了一个非常简单的HTTP服务器,该服务器绑定到127.0.0.1上的特定端口。

有了XHR和适当的CORS头,基于浏览器的应用程序可以以安全的方式与桌面应用程序通信。

以下是一些其他方法:

  • 在应用程序中嵌入web浏览器控件。web浏览器控件可以很容易地窥探页面,页面也可以很容易的窥探本地存储。web浏览器控件主要指Internet Explorer
  • 您可以通过操纵可执行文件的名称,将参数从网页传递到启动的可执行文件(甚至是批处理文件)中。(使用application/bat作为Content-Type,在用户下载程序时邀请操作系统运行程序。)
  • 从浏览器启动的ClickOnce程序可以很容易地从网页接收数据
  • 您可以在程序中使用自动化(AutoIt、AutoHotKey)将网页上的字段复制/粘贴到。当你控制网页端的标题时,你可以按标题找到窗口。您甚至可以自动打开浏览器,将其导航到一个页面,该页面将本地存储转储到文本字段中,并聚焦该字段
  • ActiveX控件(祝你好运)

我无法为OS X或Linux提供类似的技巧。

最新更新