我正在设计一个网络应用程序,将被授权给组织安装在他们的内联网上。我正在使用VS 2010中的“发布”功能。这将创建所有必需的aspx页面,但会将代码编译到DLL中,以便它不会暴露给客户端。web.config应该如何部署?
但是,发布的web.config
仍然是可编辑的,因此推测客户端可能会让<compilation debug="true">
查看我的代码,或者更改程序集引用以有效地“修改”应用程序。是否有必要/有可能解决这个问题?
我正在设计一个网络应用程序,将被授权给组织安装在他们的内联网上。我正在使用VS 2010中的“发布”功能。这将创建所有必需的aspx页面,但会将代码编译到DLL中,以便它不会暴露给客户端。web.config应该如何部署?
但是,发布的web.config
仍然是可编辑的,因此推测客户端可能会让<compilation debug="true">
查看我的代码,或者更改程序集引用以有效地“修改”应用程序。是否有必要/有可能解决这个问题?
除非你运送源代码,否则转向<compilation debug="true">
将不会对发布/发布的DLL产生影响。
你可以混淆你的DLL,这样即使它们在Reflector中查找它也没什么意义。
您可以加密web.config文件。
更多细节:Walkthrough: Encrypting Configuration Information Using Protected Configuration
如果您只是编译你的Web应用程序,任何人都可以使用反编译像反射工具的代码。
web.config
设置对此没有影响。
你可能想看看混淆你的程序集 - DotFuscator是一个广泛使用的迷惑工具,虽然有many others。
这有助于人们看到他的代码? – Oded
他的担心是关于可编辑的web.config文件。除非你进行模糊处理,否则你无法避免人们看到你的代码。 – Anuraj
不,他关心的是客户阅读他的代码。他认为可编辑的web.config是问题,但事实并非如此。仔细阅读问题。 – Oded