隐藏ASP.NET应用程序中的代码

时间:2011-09-23 08:32:39

标签: asp.net iis deployment

我有一个ASP.NET应用程序,我通过将项目复制到服务器然后配置IIS来部署到服务器。 现在发生的是我需要阻止访问代码。有没有办法做到这一点? 我需要以不同的方式部署,还是有办法以某种方式“加密”代码,从而使代码无法读取?

此致

3 个答案:

答案 0 :(得分:4)

是的,你应该只发布。

在Visual Studio内部,在解决方案资源管理器中,右键单击Web项目并选择发布。

这将创建您需要部署的所有内容(页面,程序集,资源......),但不包含源代码。

答案 1 :(得分:2)

一种简单的方法是对代码进行模糊处理。这样做不会隐藏代码本身,但这使得阅读和理解起来非常困难。

有关详细信息,请参阅this wiki page

另一方面,如果您使用发布配置发布应用程序,则只会上载对站点至关重要的程序集和其他部分,而不是可读形式的源代码。但要小心,dll可以进行逆向工程。

答案 2 :(得分:1)

您可以在程序集上使用混淆器,例如dotFuscator

更好的混淆器会阻止大多数反编译器(例如Reflector),但通常不会自由。


更新

看到你的意思是你根本不希望代码与你的应用程序一起部署:

发布应该足够了,只要您不使用app_code文件夹 - 此文件夹中的代码将按原样部署。