2011-09-20 115 views
0

我正在開發一個Android應用程序。 當用戶按下按鈕時,我想添加Android設備的唯一標識符和一些其他數據到數據庫。Android:與數據庫的安全連接

問題是:如何防止其他應用程序/網站等可以將數據放入我的數據庫。

我正在考慮SSL連接,但其他應用程序也可以使用SSL連接來連接到我的數據庫。接下來我想到的是創建一個額外的字段,使用salt並加密唯一的id +其他數據+ salt並在加密信息匹配的情況下檢查數據庫服務器。

但理論上可以對Android應用程序進行逆向工程,所以'他們'可以找到我的鹽,並將加密的信息發送到我的數據庫。

我該如何製作一個PHP腳本來將信息保存到數據庫中,並使其僅適用於我自己的應用程序?

回答

1

如果這個數據是每個設備,那麼在第一次運行時創建一個「cookie」,例如,一個足夠長的隨機ID,用於隨後與服務器進行通信。還可以使用SSL,因此無人可以監聽流量。

要生成隨機字符串使用UUID

你可以使用Settings.Secure.ANDROID_ID,但如果有人反轉你的協議,他們可以創建一個應用程序,捎帶利用。不太可能但可行。

OTOH,如果數據是每個用戶,那麼您需要創建一個登錄系統。

+0

Thnx爲您的答案。問題是我想將設備添加到我的數據庫。我不希望其他應用程序可以將設備添加到我的數據庫,只是我的應用程序有權這樣做。另外我想從數據庫中獲取數據,這些數據僅適用於我自己的應用程序。不像登錄系統:) – ruta

+0

由於您不能信任設備,因此您必須信任用戶。所以你需要一個登錄系統。沒有辦法繞過它。 –

+0

我同意這一點!但我正在尋找一種解決方案,以確保向我的數據庫發佈或獲取數據的請求來自我自己的應用程序。不是從另一個。用戶知道與我的數據庫存在連接並非偶然。 – ruta