2012-08-05 124 views
2

首先,我看看她关于此问题的每个相关主题。然而,他们中没有人完全回答我的问题。允许用户远程连接到MySQL数据库

Curently我工作的桌面应用程序,编码在C#中,同时需要进行身份验证和存储用户自定义列表等

我把我的测试数据库在我的帐户上HostGator的MySQL连接和我连接到它连接字符串看起来像;

public static string cs = "Server=xx.xx.xxx.xx;Port=3306;Database=xxx;Uid=xx;Password=xxx"; 

尽管一切都是100%正确的,但直到列入我自己的IP地址的白名单时才能进行连接。

现在一切都为我工作的完美,但事情是,我应该如何将我的桌面应用程序的所有用户列入白名单,以便他们能够连接到数据库。

有什么我可以做的,以允许连接,而不必将每个人列入白名单?

预先感谢您
亚历

回答

1

是的,这很可能会在MySQL的(或者甚至是防火墙)的配置选项。我想尽管由于明显的安全问题,主机不允许每个人连接到托管的MySQL服务。

你最好写一个简单的服务在网络服务器上运行,它将发布你想分享的数据。然后,您可以在C#应用程序中使用此服务。

+0

感谢您的快速反应,实际上这也是我第一个想到的。不过,我想了很多,不能提出一个好主意。我试图在php中编写一个简单的脚本,它将在我的mysql数据库上运行我所需的SQL查询,但无法找出从脚本发送和接收信息的正确方法。 任何想法? 谢谢 – Alex 2012-08-05 21:44:12

+0

@Alex我的意思不在于从客户端应用程序执行SQL命令的服务的风格,而是关于创建例如[SOAP服务器](http://www.php.net/manual/en /class.soapserver.php),它将SOAP方法调用转换为数据库的结果。这些结果可以(强类型地)读回到您的应用程序中,使您可以直接将它们作为代码中的对象使用。我想这意味着重写,但让任何人连接到MySQL服务器(以及任何SQL服务器)通常是一个坏主意。 – CodeCaster 2012-08-05 21:49:16

+1

我明白你在说什么,这听起来像个好主意。但是,我不知道允许每个用户连接到MySQL数据库是不好的做法。但我想这其中的原因几乎与SQL注入和东西有关。但是,如果您可以向我建议以其他方式验证用户身份,并在桌面应用程序的情况下将用户数据存储到MySQL数据库或从MySQL数据库加载用户数据,我会很高兴。这是我第一次使用MySQL数据库与桌面应用程序,而不是本地PHP脚本。谢谢。 – Alex 2012-08-05 22:00:41