2009-04-17 121 views
5

什么是ASP.NET中的连接字符串的保护/加密的最佳实践,而不是仅仅作为纯文本存储Web.Config中ASP.NET连接字符串加密/保护

+0

可能重复[在.NET中以编程方式加密配置文件](http://stackoverflow.com/questions/21965/programmatically-encrypting-a-config-file-in-net) – 2014-08-01 07:44:21

回答

1

Web.Config中已经内置支持加密连接字符串(和其它数据),但是这确实有一些开销,因为加密是联系在一起的服务器,因此加密必须由服务器管理员,而不是成立开发商。

你也可以手动进行加密,在你的源加密程序。

你为什么要加密?你从谁保护?黑客获得访问网络配置?不知道prod连接字符串的开发人员?加密背后的原因会稍微改变解决方案。

3

您可以设置这部分是encrypted

然而,默认的加密已陷阱被别人指出。您还可以将连接字符串部分设置为指向一个外部文件,并且该外部文件将与加密协同工作。这应该解决大多数问题,因为系统管理员可以在那里设置加密而不会破坏开发人员的web.config中的任何其他内容,并且开发人员可以在不撤消sysadmin加密的情况下部署对配置的更改。

0

最好的做法是使用Windows身份验证(与连接池的警告)。

做不到这一点,加密连接字符串是很好的做法:Keeping secrets in ASP.NET 2.0.

注:基本方法不适用于网络农场工作。

+0

你会最后留下一个关于downvote的评论。谢谢。 – 2009-04-17 15:21:47