我有一個通過將項目複製到服務器並配置IIS來部署到服務器的ASP.NET應用程序。 現在發生的事情是我需要阻止訪問代碼。有沒有辦法做到這一點? 我是否需要以不同的方式進行部署,或者有辦法以某種方式「加密」代碼,從而導致其無法讀取?在ASP.NET應用程序中隱藏代碼
問候,
我有一個通過將項目複製到服務器並配置IIS來部署到服務器的ASP.NET應用程序。 現在發生的事情是我需要阻止訪問代碼。有沒有辦法做到這一點? 我是否需要以不同的方式進行部署,或者有辦法以某種方式「加密」代碼,從而導致其無法讀取?在ASP.NET應用程序中隱藏代碼
問候,
您可以使用混淆如dotFuscator你的組件。
更好的混淆器會阻止大多數反編譯器(比如反射器),但通常不是免費的。
更新:
看到,因爲你是說你根本就不想與你的應用程序部署代碼:
出版應該是足夠的,只要你不使用app_code
文件夾 - 此文件夾中的代碼將按原樣部署。
是不是足以發佈? –
@DavidePiras - 如果有人有權訪問DLL,他們可以使用反射器來獲得(近似)原始代碼。 – Oded
我知道,但我認爲這不是OP的意思。無論如何實際上並不清楚,添加一個問題作爲評論原來的問題... –
一個簡單的方法是混淆代碼。這本身並不是隱藏的代碼,但它使它很難閱讀和理解。
有關更多信息,請參閱this wiki page。
另一方面,如果您使用發佈配置發佈應用程序,則只會上傳程序集和其他對網站至關重要的部分,而不是可讀形式的源代碼。不過要小心,dll可以進行反向設計。
「阻止訪問代碼」 - 從誰? – Oded
你的意思是你不想顯示.cs文件,或者你想真正加密dll(程序集),這樣即使高級用戶也無法反編譯和理解。 –
dll的逆向工程沒有問題,因爲沒有高級用戶訪問服務器。當我說「阻止訪問」時,我的意思是代碼不存在或不可讀。 – seth