2013-04-10 83 views
0

我是一名正在開發移動(iOS/Android)應用程序的Web開發人員。iOS連接數據庫的正確體系結構?

因此,我想了解的是,我應該如何構建移動應用程序以訪問(發佈/更新/刪除)存儲在中央服務器上的數據。

爲了便於說明,假設我正在創建一個移動配方應用程序(名爲「MyRecipeApp」)。我想與MyRecipeApp的其他食譜用戶分享一些食譜,以及一些我想保密的食譜。

爲了共享食譜,所有食譜(私人和可共享)都存儲在一個集中式(服務器)數據庫中,MyRecipeApp訪問該數據庫以獲取該信息。

因此,我有幾個問題:

  1. 隨着MyRecipeApp,我該如何訪問數據庫?我是否可以公開訪問MyRecipeApp可以與數據庫交談的數據庫?如果是這樣,那似乎不安全。

  2. 是否將SQL硬編碼到MyRecipeApp中(例如,SELECT * FROM RECIPES WHERE USER =「John Smith」)來訪問數據庫以獲取食譜?如果是這樣的話,這似乎是不安全的,因爲有人可能會破解我的移動應用程序並更改SQL來獲取任何信息。

  3. 您是否將用戶用戶名/密碼與每次抓取都發送到數據庫?如果是這樣,你如何加密數據庫和MyRecipeApp之間的流量。

  4. 我還沒有想過如何構建移動應用程序?

回答

1
  1. 連接通過API(也許寧靜HTTP API)。
  2. 不要硬編碼SQL。相反,進行API調用,傳遞參數。
  3. 是的,發送每個請求的身份驗證信息並使用HTTPS,或僅在第一次請求時發送用戶名和密碼,並獲取會話令牌並將其用於後續請求,但仍使用HTTPS。
  4. 考慮以JSON格式發送和接收數據。