2011-12-26 31 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

相關問題