2013-04-03 65 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)用戶/密碼。但是,你需要直接在數據庫上給用戶某些「權利」。我的猜測是,你不需要那個。