.net - 这种情况下app.config和web.config中的数据要加密吗?

标签 .net asp.net security encryption web-config

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

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

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

如果它是加密的,他们将如何更改它?那是否意味着我必须重建我的网站并向他们发送包含更改的新副本?还是他们有不同的方式?

如果没有其他方法让我想到我应该这样做吗?如果发生某些事情会发生什么,无论出于何种原因,直到 48 小时后我才能对它们进行新的更改。这意味着他们不能在 48 小时内使用该服务。

我提供支持没有问题,但是当开始涉及他们可能应该控制的小事情时,他们可能首先应该改变。

我宁愿将其加密,但同时如果我必须对 web.config 进行所有更改,这也不好。因为它可能会引发不同的安全问题,因为他们必须以某种方式向我提供更改。

最佳答案

如果您只关心加密数据库连接字符串,this article解释 如何删除 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>

然后您可以按照此处其他人建议的方式之一处理 connections.config。

关于.net - 这种情况下app.config和web.config中的数据要加密吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3215488/

相关文章:

c# - 接口(interface)属性的 XML 序列化

.net - .NET 的逻辑变量支持

.net - 您使用什么解决方案在部署后自动测试 Web 应用程序的运行状况或有效性? (。网)

jquery - 尝试使用 ASP.net 发送电子邮件,无法将变量传递到 ashx 文件

java - 当自定义 Servlet Filter 中抛出错误时, doFilter 方法会被多次调用

java - 如何保证 Netty 连接的安全?

c# - 我应该出于其他原因重用 Microsoft.NET 属性还是应该创建自己的属性?

javascript - 在 document.ready 中设置隐藏字段值并在 pageload 事件中获取其值

asp.net - 我如何从进程中慢慢迁移到使用 Redis 作为 session 状态提供程序?

objective-c - 保护从 iPhone 到服务器的连接