【发布时间】:2011-05-09 18:56:54
【问题描述】:
我用 C# + WPF + MySQL 创建了一个应用程序。存储数据库连接字符串的最佳(最安全)方法是什么?
【问题讨论】:
-
它需要安全吗?如果您的服务在您的服务器上运行,为什么要保护连接字符串? (我假设您将其存储在应用程序配置中)
-
应用是如何部署的?是每个用户都有不同的连接字符串,还是所有用户都有一个连接字符串?
我用 C# + WPF + MySQL 创建了一个应用程序。存储数据库连接字符串的最佳(最安全)方法是什么?
【问题讨论】:
将其存储在您的 App.config 文件中并始终对其进行加密。 This link 将向您展示如何加密部分配置文件。
【讨论】:
你可以store connections strings in the configuration file。如有必要,您可以保护它们。
【讨论】:
或者 - 注册表。您不存储它们的一个地方是 app.config 文件(whatever.exe.config),因为它只存在一次,并且程序文件夹不是用户可以更改的。每个用户的设置都不应该存在。
【讨论】:
如果应用程序在服务器上运行,我会推荐 machine.config 文件并在 Fernando 推荐的同一个庄园中对其进行加密。如果要分发应用程序,那么我将在 app.config 中存储它们。
【讨论】:
嗯,我总是遵循一种做法。每当我在 SL 或 WPF 中做某事时,我总是将服务层放在 SL/WPF 和数据库之间。
【讨论】:
您可以使用使用 Visual Studio 时可用的 visual studio settings / 属性。它们使用起来非常简单,如果您使用用户设置,它会保存在用户的应用数据目录中,因此它是半隐藏的,远离修补。如果你愿意的话,你所要做的就是某种形式的加密来完全锁定它。
我认为 Visual Studio 设置的最大优点是易于使用。
【讨论】: