2011-06-02 27 views
1

我有一个数据库在一个国家自己的MS SQL服务器。在 中写入用户信息服务器中的表意味着信息是公开的。我希望能够 写一个表到用户硬盘驱动器 - 所以这些信息不在服务器上 ,并能够通过在状态服务器通过php查询来显示图表。有没有办法做到这一点,而不必在用户机器上安装任何类型的软件,如果是这样,我将不胜感激,如果你可以指向我的程序这样做。是否可以在用户的​​本地硬盘上存储SQL Server表?

+1

这是不可能的,没有某种hackery。网页无法使用插件将任意文件写入用户的驱动器。至于保持用户数据私密性的问题,大多数网络应用程序通过强制执行他们自己的应用程序级访问控制来管理这个问题 - 只有在用户的个人硬盘上存在用户数据时,用户数据才是私有的,这种想法是非常规的,至少可以说。 – 2011-06-02 18:39:22

+0

如果您确实有数据非常敏感,以至于无法存储在中央位置,您可能对“HTML5客户端存储”感兴趣。不过,我怀疑你的数据真的很敏感。即使您的银行也愿意将您的所有数据存储在自己的中央服务器上。 – 2011-06-02 18:41:35

回答

0

你真正的问题是数据保密而不是你在哪里存储它。请参阅此链接:

How to: Encrypt a Column of Data

没有更多的信息,你正在做的到底是什么,它是不可能为你提供一个更具体的答案。

+0

加密不一定是必需的。您可以将未加密的数据保存为“私人”,只需将其发送给应该能够看到它的人。 – 2011-06-02 18:57:51

+0

@Frank Farmer,我从OP不希望任何人访问表格的问题中看到数据。我会想象应用程序将控制谁“看到”数据。 OP似乎担心的问题是**没有人能够控制“sa”用户查看数据,所以我说加密它。** – 2011-06-02 19:05:00

3

将用户信息写入SQL服务器上的表不会使其成为“公共”。您的代码将定义谁有权访问它。

回答您的问题: 您无法在用户的硬盘上创建数据库。因此,研究cookies是将信息存储在用户硬盘上的唯一选择。

+0

Cookies不再是唯一的选择,但它们是支持最广泛的选项。 HTML5包含新的客户端存储,但目前许多浏览器都不支持它。 – 2011-06-02 18:56:10

+0

如果OP涉及查看数据的服务器的实际所有者(而不是通过应用程序,但使用SELECT等),那么您无法“定义谁有权访问它”。除非加密,否则“sa”用户可以看到它。 – 2011-06-02 19:14:16

+0

@KM我很难理解这个问题,但是如果情况正确的话。他应该考虑对它进行加密,或者,如果数据非常敏感,它应该放在受信任的服务器上。 – Fase 2011-06-02 19:18:49

0

这确实是实际触及数据库的应用程序的功能。 SQL的重点在于数据存储在服务器上。解决方案是保存某种XML加密或不在本地机器上。

相关问题