【发布时间】:2017-05-15 12:56:15
【问题描述】:
在我的应用程序中,我目前将连接字符串保存到以下区域:
Properties.Settings.Default.ConnectionString();
但是我意识到这是不好的做法,因为用户可以查看连接字符串。我在互联网上搜索了大多数答案,建议将连接字符串保存在我的app.config 文件中,但是用户仍然可以看到连接字符串,所以它仍然不安全。我想过设置
我的连接字符串到字符串并在每次启动程序时声明它,但这似乎效率低下。
保存我的连接字符串以便对用户隐藏它的最安全方法是什么?谢谢。
编辑:这是连接字符串:
Server=server.com;PORT=3306;Database=db_user;Uid=admin;Pwd=test;
【问题讨论】:
-
什么数据库供应商?应用程序如何连接到数据库?直接地?通过应用服务器?它是否使用必须在连接字符串中的用户登录名和密码?还是它使用集成安全性(又名 Windows 安全性)?
-
抱歉没有指定。这是我的连接字符串:Server=server.com;PORT=3306;Database=db_user;Uid=admin;Pwd=test;
-
如果您使用的是 MS SQL Server,那么使用 集成安全性 而不是在配置文件中指定密码是一个好的开始
-
什么数据库?如果您的应用在 Windows 平台上运行,大多数数据库供应商都允许使用 集成安全性,其中连接字符串中不需要用户 ID 和密码。
-
不,它没有。集成安全性并不意味着每个人都使用相同的登录名,这意味着应用程序使用工作站上当前登录用户的凭据进行身份验证。因此,仍然使用特定的用户凭据访问数据库。但是,是的,使用服务帐户之类的东西来最终访问数据库总是更好(这消除了在数据库中管理用户帐户的需要),但是您需要在其他方式。
标签: c# mysql save connection-string app-config