【发布时间】:2011-08-02 16:52:43
【问题描述】:
我在 c# 中工作,我正在使用 mysql .net 连接器与远程 mysql 数据库进行交互。在代码中包含连接字符串并直接通过命令对象使用 db 是否安全,或者我应该发布到 php 中间层以隐藏连接字符串?
提前致谢。
【问题讨论】:
标签: c# .net mysql connection-string
我在 c# 中工作,我正在使用 mysql .net 连接器与远程 mysql 数据库进行交互。在代码中包含连接字符串并直接通过命令对象使用 db 是否安全,或者我应该发布到 php 中间层以隐藏连接字符串?
提前致谢。
【问题讨论】:
标签: c# .net mysql connection-string
在我看来:
你不应该把你的连接 直接在您的 C# 代码中的字符串 if 您的应用程序可能是 反编译 = 我的意思是 WinForms 应用程序。
如果您使用的是 Windows 应用程序,然后尝试实现一个 登录窗口。用户将通过的地方 他/她的用户名和密码。这 解决方案需要一个或多个 mysql 用户 对于每一个会拥有的人 访问系统。
如果您在网络上工作 应用程序,然后把你连接 web.config 文件中的字符串。
如果您正在处理应用程序 不受限制的访问,那么我 认为你应该实施一些 层...但请记住,永远不要通过 SQL查询作为纯文本通过 网络,因为有人可以嗅到它。 我会推荐某种 网络服务。
【讨论】:
那么连接字符串只是存放在PHP中间件层,那有什么区别呢?它必须存储在某个地方。
我会保持简单并将其存储在您编写的 C# 应用程序的 app.config 或 web.config 中。
关于存储它的几个注意事项: - 生产连接字符串不应存储在版本控制中。 - 生产配置文件应存在于生产服务器上,并带有连接字符串。 - 为了增加安全性,您可以加密您的连接字符串 (http://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx)
【讨论】: