2011-04-10 143 views
-1

想象一下,我爲客戶創建了一個應用程序ASP.NET MVC。此應用程序正在運行我的客戶的本地服務器(我稱之爲customer1)。如果customer1向customer2提供應用程序,是否有辦法使該應用程序無法運行foranother客戶?保護ASP.NET應用程序

謝謝,

回答

6

你爲什麼這樣干擾和浪費你的時間?確保您獲得代碼的許可,可能將其混淆並將其出售給客戶。如果他違反許可協議並將其交給別人,那是他的問題。起訴他們的屁股,就是這樣,故事結束。但要記住,不管你做什麼,他們都會找到一種方式:-)

所以,專注於提供一個好的產品,客戶會自己來找你,要求你購買它。

+1

+1一般來說,太多的時間和精力太多了。 – 2011-04-10 15:16:15

+0

你是對的,我編程時,這個問題來到我的腦海:) – 2011-04-10 15:42:19

+1

+ 1K你是對的:) – 2011-04-10 17:30:35

1

您可能硬編碼檢查它運行的域可能。簡單但粗糙。

0

我認爲在應用程序啓動時添加一些檢查並不是一個壞主意。檢查計算機名稱和Mac地址似乎並不壞。

0

1-在代碼中檢查放置在文件中的值是否具有加密數據。 這個文件在windows的root或者某些root上生成,customer1不知道它。 該文件將通過在線連接或自行激活時生成。

在運行時讀取文件並解密,您可以讀取過期日期的值,您想要的某種配置。

您可以檢查作爲朋友說的計算機名稱,從的customer2

IP地址什麼區別customer1表

2 - 你也需要保護的dll文件反編譯,從方法

我問候

-1

乘坐看看Rhino Licensing

詹姆斯格雷戈裏寫了一個很好的post如何開始使用它。

另外link由詹姆斯的文章中的Balsamiq的帖子是非常值得一讀。

+0

如果你打算投票下來,很高興能說出原因。否則我什麼也不學。 – Deke 2011-04-12 14:10:33

0

這是一個Web應用程序 - 最簡單的方法是爲客戶託管應用程序,這樣他們將無法獲得它的源代碼。

0

大多數應用程序使用業務規則,命名約定,資產等,這些都是業務所特有的。將這些值硬編碼到您的應用程序中,以便共享應用程序不適用於其他客戶。

除此之外,你可以看看一個真正的複製保護包,如DeployLX,InfralutionDesaware