这是一个值得商榷的问题,我想要不确定如何。
我应该提供一个必须安装在客户端系统上的asp.net应用程序。我可以对我的代码进行模糊处理,从而保护它。但是如果数据库是由任何管理员打开的。该人将能够看到已经提供给数据库的所有数据。
我们不希望客户端无论如何都要控制数据库,即使他可以访问某个特定静态表的数据库。并拒绝对这些特定表格所做的任何更改,如表A,表B 和表C ......
如何跟踪或避免对这三个表进行任何更改。并拒绝他们改变这一点。有什么可能吗?拒绝对这些表进行任何更改并通过私钥/公钥排序控制它们,或者一些锁定机制,即使管理员拥有更新权限,也会拒绝对该表的任何更新语句。因为我们没有数据库的控制权。它是控制它的客户。
以便在任何客户端部署Web应用程序数据库的情况下如何保护此数据库
或者非常欢迎各种部署建议。因为我们是这个应用程序部署的新手。
答案 0 :(得分:1)
这通常是一个非常糟糕的主意。
如果它必须是ASP.NET应用程序,那么我建议您将其部署在可以设置访问权限的服务器上。这样,没有人能够访问代码或应用程序。这就是Web应用程序的目的首先。
答案 1 :(得分:0)
一般而言,保护代码和数据的更好选择是通过各种许可协议来实现。 SQL Server提供了保护数据免受未授权用户攻击的方法,但管理员和本地管理员帐户也可以在需要时访问它。
您可以考虑使用SQL Server精简版(http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx) 我认为它更像是一个嵌入式数据库,因此不能直接访问您的应用程序。