如何隐藏XML配置文件

时间:2012-05-17 21:51:28

标签: c# wpf xml

我刚刚完成了我的应用程序并完成了它的构建。一切都很好。

然后我注意到文件夹中的XML配置文件,所以我点击它。

就是这样,我的整个连接字符串以及我的远程sql server ip地址,登录用户名和登录密码,所有人都可以看到。

我尝试删除XML配置文件并运行程序,它只是在一个带有默认数据库的文件夹中创建一个App_Data文件夹。

有没有办法隐藏XML配置文件或使其无法读取,因为它包含我的所有连接信息。

感谢。

4 个答案:

答案 0 :(得分:3)

查看有关保护连接字符串的MS文章:

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/protecting-connection-information

或者,将连接字符串硬编码到您的应用程序中(注意:恶意用户可以相当容易地对.net应用程序进行反向工程),或者尽可能使用集成安全性。

答案 1 :(得分:1)

答案 2 :(得分:1)

任何隐藏连接字符串的尝试都会让您和任何攻击者都难以访问。这并不罕见,但不是很安全,并且确保定期密码轮换也存在问题。

如果可以,请切换到集成安全性。 (在连接字符串中包含Integrated Security=SSPI,但没有用户名或密码。)连接将使用您自己的用户帐户(或运行代码的帐户)创建,假设

  • 您正在使用MS SQL Server
  • SQL Server位于同一系统或同一AD域中,因此可以识别该帐户。

答案 3 :(得分:1)

无论你做什么,专用调试器都能看到你的连接字符串。

请记住,如果您可以在调试会话中查看Connection.ConnectionString,那么使用WinDBG或Visual Studio的用户也是如此。因此,即使您加密文件,用户也可以让您解密,然后检查明文值。

这就是为什么许多需要服务器信息的客户端应用程序(尤其是移动应用程序)通常不直接连接到数据库。相反,他们通常会连接到服务。然后,您根据您的服务对用户进行授权和身份验证。