【问题标题】:Javascript/jQuery Data Storage Method (Database)Javascript/jQuery 数据存储方法(数据库)
【发布时间】:2010-07-16 13:12:28
【问题描述】:

我目前正在设计一个网站,该网站需要在服务器上存储一长串姓名(没有额外数据),然后根据请求将它们输出到客户端浏览器。

要存储这些名称,我显然需要某种数据存储方法,我只是想知道,由于整个网站都是用 javascript/jquery 编码的,是否有一种安全的方法来存储这些名称,然后使用javascript?

出于服务器负载原因,我希望避免使用 PHP/MySQL 路由,所以我在想最简单的方法是将名称存储在服务器上的纯文本文件中,然后使用 AJAX 读取名称并输出他们,但我不知道未经授权的更改有多安全。请告诉我您对这种方法的看法。

另一种方法是使用 TaffyDB 库,也请给我您的想法。

我并不真正关心未经授权查看数据,因为他们可以在网站上看到所有数据,只是未经授权的更改。

谢谢,

DLiKS

【问题讨论】:

    标签: javascript jquery database


    【解决方案1】:

    使用CouchDB。任何信息都可以通过 AJAX(POST、GET..)访问。

    【讨论】:

      【解决方案2】:

      将名称存储在服务器上的文本文件中可能是安全的,具体取决于您的服务器的安全程度以及您设置权限的方式。

      例如,使用安全的 linux 网络服务器,您可以设置文件权限,以便只有“root”用户可以写入文件,但任何人都可以读取它。许多非常重要的配置文件是安全的,只是因为在 linux 中有这样的权限。

      【讨论】:

        【解决方案3】:

        看看这个插件:http://www.jstorage.info/

        它有一组令人印象深刻的浏览器支持,包括 IE。它将与大多数现代 JS 框架集成,并且可以独立运行。

        【讨论】:

        • 很抱歉,数据将存储在服务器端。
        • 啊,没问题,couchdb 是一个很好的解决方案,就像上面说的几个答案一样,因为它有 https 和 JSONP。
        • CouchDB 的速度如何,你说它比 MySQL 快还是慢...还是取决于服务器?
        • 这就像比较苹果和橘子。一些很好的信息。 stackoverflow.com/questions/28975/anyone-using-couchdb
        【解决方案4】:

        没有secure 方法可以将其存储在客户端上。

        我能想到的最佳方案是HTML5 storage。但这意味着您注定要让您的客户选择HTML5 browsers。从本地文件系统写入和读取textfiles 是一件坏事(bad bad karma),需要大量安全令牌/浏览器设置。

        我真的会考虑使用服务器端数据库存储。

        【讨论】:

        • 对不起,只是为了澄清一下,名称将存储在服务器上,而不是客户端上。服务器上的文本文件可以工作吗?
        【解决方案5】:

        不允许在浏览器中使用 JavaScript 访问文件系统 - 这基本上违反了沙盒政策。请参阅以前的SO post 和此article

        JavaScript 和 DOM 为恶意作者提供了通过 Web 传递脚本以在客户端计算机上运行的可能性。浏览器作者使用两个限制来控制这种风险。首先,脚本在沙箱中运行,它们只能执行与 Web 相关的操作,不能执行创建文件等通用编程任务。

        您所说的可以通过 Silverlight 应用程序、ActiveX 控件(啊!)、Adobe Flash/AIR(我不太了解那个平台)等来完成。具有本地存储的东西基本上可以运行浏览器的插件。

        如果您不想走那条路,那么我认为您所能做的就是将数据存储在标记中的隐藏值中......但我不建议这样做。我同意 jAndy - 使用服务器端数据库存储。

        【讨论】:

        • 对不起,澄清一下,数据会存储在服务器端,然后通过javascript读取并输出到客户端,没有本地文件系统访问。很抱歉有任何混淆。
        【解决方案6】:

        SQLite 是在这种情况下您可以考虑的一个选项。 SQLite 是一个轻量级的数据库服务器,它不需要任何开销,如启动、维护等(就像您对其他 RDBMS (如 Oracle、MySql 等)所做的那样)。

        它的工作方式有点像服务器端应用程序中的嵌入式数据库服务器。

        【讨论】:

          猜你喜欢
          • 2012-12-21
          • 2019-05-10
          • 2020-02-23
          • 1970-01-01
          • 1970-01-01
          • 2013-06-08
          • 1970-01-01
          • 2014-03-31
          • 1970-01-01
          相关资源
          最近更新 更多