2012-02-27 36 views
1

我想問的是在客戶端應用程序(桌面應用程序)的代碼中連接mysql是否正確?它不是不安全的(反彙編應用程序/嗅探獲取數據庫密碼)?我用C++編寫。C++中的SQL數據庫

+0

您需要提供更多的上下文:值得注意的是,客戶端是否爲DB所屬的同一家公司工作?他們是否共享相同的網絡等等......但總的來說,你不知道。您改爲建立一個提出有意義接口的服務器,並隱藏用作實現細節的數據庫。 – 2012-02-27 12:13:22

回答

1

如果您的數據的安全性很重要,那麼您是正確的 - 您無法安全地將密碼嵌入您的客戶端。您最好的選擇是每個用戶都有自己的密碼,他們必須將其提供給客戶端才能訪問您的數據庫,並且您的數據庫將具有用戶級別的權限。

如果用戶級權限不是您的選項,那麼您應該考慮完全刪除對數據庫的直接訪問權限。相反,提供Web訪問來提供JSON或XML(例如);這簡化了您的客戶端應用程序,並且還允許您在Web應用程序級別實施嚴格的安全規則。

+0

正如我所想。謝謝你的回答:) – fex 2012-02-27 12:41:25

1

由於問題中包含的原因,這可能是不安全的,因爲每個客戶端都會直接連接到數據庫。與應用程序服務器與數據庫服務器進行通信的情況相比,它還可能產生更高的網絡流量。