在配置文件中保留连接字符串的安全性如何

时间:2013-02-19 06:47:57

标签: asp.net web-config connection-string

我见过很多人在web.config文件中保留连接字符串,而不是硬编码。但我发现它非常危险,特别是在所有用户使用相同连接字符串的情况下。这意味着任何有权访问Web配置文件的人都可以轻松获取数据库的用户名和密码,并执行各种严肃的事情。是否能够修改连接字符串而无需深入研究代码值得折衷?在配置文件中保留连接字符串还有什么好处吗?

2 个答案:

答案 0 :(得分:5)

基于Web.config的连接字符串似乎是不安全的,因为可以读取它。但想想看,如果一个人可以阅读你的web.config,就意味着他可以编辑服务器上的任何文件,因为他可能已经破解或获得文件访问权限。所以,这真的无关紧要。但为了确保更安全,您可以执行以下操作:

  1. 加密您的连接字符串并将该加密字符串放在Web.config中,然后解密它并读取DLL文件。

  2. 创建一个DLL并将Connection String放入该DLL中,稍后添加对该DLL的引用并使用连接字符串。

  3. 但是,使用Web.config将允许您根据需要更改连接字符串。就像我必须在5个不同的服务器上运行站点,进行开发,测试生产目的一样,所以我把不同的web.config放在各处,而不是一直改变Code。因此,根据您的需要以及服务器的配置方式,一种或另一种方法总是好的或坏的。

答案 1 :(得分:1)

您可以加密您的web.config密钥。在此处阅读更多Encrypt web.config

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

Encrypt web.config