我有一个ASP.NET应用程序,我通过将项目复制到服务器然后配置IIS来部署到服务器。 现在发生的是我需要阻止访问代码。有没有办法做到这一点? 我需要以不同的方式部署,还是有办法以某种方式“加密”代码,从而使代码无法读取?
此致
答案 0 :(得分:4)
是的,你应该只发布。
在Visual Studio内部,在解决方案资源管理器中,右键单击Web项目并选择发布。
这将创建您需要部署的所有内容(页面,程序集,资源......),但不包含源代码。
答案 1 :(得分:2)
一种简单的方法是对代码进行模糊处理。这样做不会隐藏代码本身,但这使得阅读和理解起来非常困难。
有关详细信息,请参阅this wiki page。
另一方面,如果您使用发布配置发布应用程序,则只会上载对站点至关重要的程序集和其他部分,而不是可读形式的源代码。但要小心,dll可以进行逆向工程。
答案 2 :(得分:1)
您可以在程序集上使用混淆器,例如dotFuscator。
更好的混淆器会阻止大多数反编译器(例如Reflector),但通常不会自由。
更新
看到你的意思是你根本不希望代码与你的应用程序一起部署:
发布应该足够了,只要您不使用app_code
文件夹 - 此文件夹中的代码将按原样部署。