你应该在这个情境下加密app.config和web.config中的数据吗?

cho*_*bo2 3 .net asp.net security encryption web-config

我正在开发一个asp.net mvc 2 Web应用程序.我的客户很可能希望我的应用程序的副本在他们的服务器上托管,而不是我在我的服务器上为所有客户端托管它.

但是我发现这有问题,因为我计划使用.net 2.0加密器来加密我的web.config以使其更安全.我想得很好我只会给他们我的.dll和观点等他们不会得到我的文件的灵魂,所以他们可以加载它,看看发生了什么.

那么,如果我加密web.config并且数据库连接字符串发生变化,会发生什么?让它成为地址变更或用户名/密码更改.

如果它是加密的,他们将如何改变它?这是否意味着我必须重建我的网站并向他们发送带有更改的新副本?或者他们是一个不同的方式?

如果没有别的办法让我思考应该吗?如果发生某些事情会发生什么,无论出于何种原因,直到48小时后我才能对它们进行新的更改.这意味着他们无法使用该服务48小时.

我提供支持是没有问题的,但当它开始出现一些小事情时,他们可能应该控制他们可能应该首先改变.

我希望加密它,但同时如果我必须对web.config进行所有更改,这也是不好的.因为它可以打开不同的安全问题,因为他们必须对我进行一些改变.

DOK*_*DOK 5

如果您唯一关心的是加密数据库连接字符串,那么本文将介绍如何删除web.config的各个部分以分隔文件,然后加密/解密这些文件.

您可以在configSource属性中标识外部文件.然后web.config文件如下所示:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 <appSettings configSource="appSettings.config"/>
 <connectionStrings configSource="connections.config"/>
 <system.web>
 <compilation debug="true" />
 <authentication mode="Windows"/>
 <identity impersonate="true"/>
 </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后你可以用其他人建议的方式来处理connections.config.