Web应用程序如何在客户端的PC上同步文本文件的文件夹?

时间:2009-07-09 22:01:25

标签: ajax asynchronous google-gears

我希望能够通过我的Web应用程序实时同步用户PC上的多个文本文件。基本上我想在本地PC上使用一些数据文件来镜像我的Web应用程序中用户数据的状态,这样如果Web应用程序或用户的Internet连接丢失,他可以使用这些数据文件来获取一些关键信息(可能使用html) / javascript代码存储在那些将在这些数据文件上以脱机模式运行的文件中。)

我知道谷歌齿轮有很多有趣的工具可以用于离线状态,但是我更喜欢在html / javascript中更简单的应用程序,它不会像谷歌齿轮那样依赖。我宁愿使用google gear来创建这些文件,并慢慢使它们与Web应用程序的数据版本保持同步。

答案更新: PersistJS是一个很好的建议,我会调查,但我希望人们会指导我使用非常好的Google Gears教程资源。

6 个答案:

答案 0 :(得分:9)

您可以使用PersistJS在浏览器上保存数据,{{3}}使用它可以找到的最佳客户端持久存储机制,支持:

  • 闪存
  • Google Gears
  • HTML 5存储规范
  • 特定于浏览器的扩展程序
  • 饼干

当您的应用重新连接时,您可以重新同步。浏览器通常会阻止您的网站阻止创建和阅读文本文件。

答案 1 :(得分:0)

说明显而易见的风险;如果你想在本地存储用户状态,那么标准方式不是cookie吗? 可能需要多一个cookie,但这听起来像是最简单的方法。

答案 2 :(得分:0)

您需要制作ActiveX控件和FireFox插件才能获得这些权限。如果没有,我同意orip尝试使用PersistJS

答案 3 :(得分:0)

您可以要求用户下载预定义的subversion客户端,以便仅与您的subversion服务器连接。然后编写您的Web应用程序,以便仅与您一起与subversion服务进行交互。

授予对用户文件系统的访问权限会带来很多安全隐患,因此您需要锁定所有可能的利用点。您需要确保用户无法访问subversion服务器,除非通过您要求他们安装的客户端。您需要确保应用程序服务器和subversion服务器之间的连接非常安全,以便传输路径不会受到损害,并且可能加载到应用程序服务器上的恶意逻辑无法访问subversion服务器。我会说加密这两个服务器之间的传输路径,并将subversion服务器放在防火墙后面分隔你的网络DMZ。我还建议在应用程序服务器和subversion服务器之间使用质询/响应机制,以防止恶意代码出现在应用程序服务器上作出的合法决策。此外,确保数据仅以单向方式从应用程序服务器流向subversion服务器,因为如果应用程序服务器上存在恶意逻辑,则来自subversion服务器的任何数据都会受到攻击,甚至无法访问该服务器。 / p>

答案 4 :(得分:-1)

你可以通过javascript使用文件系统对象FSO,但是它依赖于Microsoft,因为它是一个ActiveX控件,它还需要浏览器中的权限,或者HTA(HTML应用程序)。

http://www.webreference.com/js/column71/

这是一个真正的安全问题,因此大多数途径都会被关闭。

答案 5 :(得分:-2)

本质上,Web模型的设计不是为了从服务器到客户端授权上游。现在事情变化很慢也许你可以用Websocket做到这一点吗?