2013-04-03 63 views
3

我是新来的数据库和所有的东西。假设我有一个连接到数据库的应用程序来验证用户身份。我有一张表Students(用户)与他们各自的密码。要连接到数据库,为了我需要一个如下所示的MySQL连接:维护一个安全的MySQL连接

MySqlConnection(“server =; database =; uid =; pwd =”);

问题是我需要在应用程序中硬编码数据库的根密码,因此将数据库的根密码分发给应用程序的所有用户。对我来说,这是没有意义的?我错过了什么吗?

+0

http://www.acunetix.com/websitesecurity/webserver-security/ – Pamma

+2

创建一个有权限的用户,只需具有从Students表中进行选择的权限即可。可以从编译后的exe或dll中提取密码,但需要一些工作,并且只会导致有限的用户帐户。取决于这个数据库的内容有多宝贵,以及你的时间有多宝贵。 – criticalfix

+0

我会建议使用Web服务,因为它不会提供数据库直接访问应用程序。并且您不需要在应用程序中使用密码,您只能将其存储在本地Web服务器中。 – Pamma

回答

0

一般来说,你有类似'客户端服务器模型'。客户端(您的C#应用​​程序)连接到服务器。服务器然后连接到数据库(所以只有在服务器端用户/通行证是已知的)。

客户< - >服务器< - > mysql的

我会说其不好的做法,以实现在客户端数据库连接。但是,您可以实施每个用户的数据库授权。这意味着客户端需要输入(mysql)用户/密码。但是,你需要直接在数据库上给用户某些“权利”。我的猜测是,你不需要那个。