在ASP.NET中,保护/加密连接字符串的最佳实践是什么,而不仅仅是将其作为明文存储在Web.Config中?
在ASP.NET中,保护/加密连接字符串的最佳实践是什么,而不仅仅是将其作为明文存储在Web.Config中?
然而,其他人指出了默认加密存在的缺陷。你还可以将连接字符串部分设置为指向外部文件,该外部文件将与加密协同工作。这应该解决大多数问题,因为系统管理员可以在那里设置加密,而不会破坏开发人员的web.config中的其他内容,开发人员也可以部署对配置的更改,而不会撤销系统管理员的加密。
Web.Config内置支持加密连接字符串(和其他数据),但是由于加密与服务器绑定,所以这确实会产生一些开销,因此加密必须由服务器管理员设置,而不是开发人员。
您也可以使用源代码中的加密例程手动加密。
为什么要加密?你要保护谁?黑客入侵Web配置文件?不应知道生产连接字符串的开发人员?加密背后的原因将在某种程度上改变解决方案。
最佳实践是使用Windows身份验证(但要注意连接池的问题)。
如果无法使用Windows身份验证,则加密连接字符串是一个好习惯:在ASP.NET 2.0中保护机密信息。
注意:基本方法不适用于Web农场。