我正在使用c#(VS2010 FrameWork:v4.0)和SqlServer 2012來構建應用程序。我在網上搜索,找到方法來防止複製這個系統,我認爲唯一需要防止複製的部分是數據庫。從複製保護Winform應用程序/ Sql數據庫
我想你給我提供一些關於這個問題的建議。我需要了解以下答案/意見:
我是否也需要保護應用程序(可執行文件),從與數據庫複製?如果是,這是否意味着如果用戶丟失應用程序文件,我必須爲用戶提供一個新副本來安裝它?
一個想法,我在我的腦海,保護DB是保存一些口令/密鑰在DB(在VARBINARY的形式),並且在設備登錄(運行應用程序)的應用程序檢查設備的(MAC地址)是否保存,然後應用程序要求輸入密鑰。一旦使用密鑰,設備的MAC地址將與密鑰一起保存。這是一件正確的事情嗎?有沒有關於它的建議?
如果我需要保護應用程序部分不被複制,是否有任何想法如何做?
我也看到了有關客戶端PC上安裝的SQLExpress,並且應該保護數據庫文件從操控,所以我必須要提供一種方法來升級在未來/更新數據庫的腳本,而不是一個替代客戶端的DB新的一個。我想在應用程序中提供一個由密碼保護的窗體,並且我可以在窗體的文本框中編寫腳本(__For Example:Alter Proc_ ...),然後保存它。我可以這樣做嗎?或者這將是一個愚蠢的事情嗎?
在此先感謝
您的帖子中有很多流行語,但並不是一個真正適合的問題陳述。唯一相關的是_「防止複製這個系統」_。什麼是「這個系統」?如果它是您在本地安裝的應用程序和數據庫,則您可以執行的操作很少。 – CodeCaster
是的,我的意思是** DB +應用程序在一起**,由* system *。保存密鑰然後將它們與PC的MAC地址相關聯的想法是正確的做法嗎?但是如果我保存了數據庫中的20個密鑰並且我的客戶端有21臺個人電腦可以使用?請記住,這是一個** winform應用程序** *(它不在一個在線服務器上託管,它可能只用於本地網絡)*。 – Shoshotto