我想这已被问过很多次了。但我找不到我要找的东西,所以我要再问一次。
敏感值是否可以放在machine.config或我服务器上另一个位置的其他配置文件中?
我的方案是,我必须访问位于同一服务器上的所有应用程序中的数据库。我真的想在web.config文件中删除该特定数据库的连接字符串。也许有可能在我的web.config中引用另一个配置文件,并且该配置文件位于我的服务器中的另一个地方(除了web文件夹),我的客户端无法使用ftp访问?
只是一个想法!
答案 0 :(得分:4)
加密您的连接字符串并将其保留在web.config
答案 1 :(得分:1)
我不会说这是“最好的”,因为它没有考虑安全性等,但它回答了你的问题。
ASP.Net配置文件具有层次结构和支持继承,您可以在应用程序中的各个级别定义设置,这些设置将应用于继承层次结构。
答案 2 :(得分:1)
以下是Microsoft建议在.NET 4.5中保护连接字符串的内容:
http://msdn.microsoft.com/en-us/library/89211k9b%28v=vs.110%29.aspx
您应该使用Windows身份验证,加密连接字符串等。这是一种非常安全的方法。
如果您想要更具创意的内容,可以构建一个安全的服务来为您的应用程序提供连接字符串。这些连接字符串将存储在不同的数据存储中,并且将再次加密。 Azure使用与连接字符串类似的方法。它们存储在单独的“Windows Azure网站配置存储”中: