如何保护web.config中的connectionstring?

时间:2010-10-26 19:44:14

标签: asp.net security webforms

我有一个即将上线的网站。我想知道我应该怎么做web.config中的connectionstring。我是否会混淆它以及如何混淆?

谢谢!

5 个答案:

答案 0 :(得分:5)

标准方法是加密它。 http://ondotnet.com/pub/a/dotnet/2005/02/15/encryptingconnstring.html

但是,另一个好的选择是将它存储在注册表中并设置权限,以便只有asp.net运行时才能访问它。

请参阅此文章:http://msdn.microsoft.com/en-us/library/ff649224.aspx和此KB:http://support.microsoft.com/kb/821616

虽然我不得不说使用注册表确实会使部署和使用文本/登台服务器变得复杂。我们做了...... ONCE然后又回到加密。

答案 1 :(得分:2)

您可以加密web.config中的<connectionStrings>部分 - 请参阅How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

答案 2 :(得分:1)

答案 3 :(得分:0)

由于您未在问题中提供任何相关信息,我将假设您的连接字符串中包含凭据。

从安全角度来看,您应该尽量避免这种情况,尽可能使用Windows身份验证。显然,这要求您可以访问Active Directory环境,并且所有服务器都部署在其中。

如果没有,最好是锁定网络服务器,而不是试图确保磁盘上的文件不被不同用户篡改。

如果不可能,那么我会按照其他回复的方法,使用DPAPI加密敏感内容。

答案 4 :(得分:0)

您可以简单地加密整个web.config文件:

请参阅此处的步骤:

http://www.proworks.com/blog/archive/encrypting-your-webconfig/