2011-12-26 35 views
0

这里是一个值得商榷的问题,我想实现如何不确定。保护客户端部署中的少数sql服务器数据库

我应该提供一个asp.net应用程序,必须安装在客户端system.i可以混淆我的代码,从而保护它。但在数据库被任何管理员打开的情况下。该人将能够看到已经提供给数据库的所有全部数据。

我们不希望客户端控制数据库,即使他有权访问某个特定静态表的数据库。并否认说表A,表B表C ...

如何跟踪或避免任何改变那些正在于这三个表所做的那些特定的表所做的任何更改。并拒绝他们改变这一点。有没有可能的办法呢?拒绝对这些表的任何更改并通过私钥/公钥来控制它们,或者某些锁定机制,即使通过具有更新权限的管理员也会拒绝任何更新语句。因为我们没有数据库的控制权。它的客户谁将会控制它。

所以如何在Web应用程序的数据库

否则那种部署建议的任何客户端部署的情况下保护该数据库是最欢迎的。因为我们是这个应用程序部署的新手。

+0

你为什么要这么做? – 2011-12-26 11:53:54

+0

@SergeiTulentsev,因为他们要求可以在网上运行的应用程序。但同时他们希望它能够承载自己的东西。这样我就可以保护我的代码。但不是数据库。他说他会保留所有权利。我同意,条件是代码版权将是我们的。但可用性许可证将是他们的 – Joy 2011-12-27 07:49:11

回答

0

一般而言,保护您的代码和数据是您应用程序属性的更好选择是通过各种许可协议来完成。 SQL Server提供了保护未经授权的用户数据的方法,但是管理员和本地管理员帐户如果他们也想要,也可以使用它。

您可能会考虑SQL Server精简版(http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx) 我认为它更像是一个嵌入式数据库,因此不能直接访问您的应用程序。

+0

多少数据可以一个SQL Server精简版包含?它与asp.net一起工作吗?是否可以看到精简版的数据?从外面?或表结构? – Joy 2011-12-27 07:53:54

+0

添加链接到精简版页面。据我所知,只要用户认为它只是服务器上的文件。它确实支持ASP以及你如何看到我不确定的数据。 – 2011-12-30 23:38:29

+0

但我猜Entity框架或Nhibernate社区不支持SQL Server精简版吗?这是一个有点题外话。但仍然问..以及如何SQL Server精简版SQL Server精简版? – Joy 2012-01-11 09:40:28

1

这通常是一个非常糟糕的主意。

如果它必须是一个ASP.NET应用程序,那么我建议您将它部署在可以设置访问权限的服务器上。这样,没有人能够访问代码或应用程序。这就是Web应用程序的首要目的。

+0

当然,我知道它是一个非常糟糕的主意。但在我对Sergei的评论中看上面。我已经回答了为什么我需要这样做。我以某种方式解决问题。所以这就是我来这里的原因。以便如何解决这个问题。我绝对不否认,这将是非常愚蠢的..但解决方案,如果你有任何其他的选择。所以我要求:) – Joy 2011-12-27 07:51:57

相关问题