2012-08-05 74 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