私は、モバイル (iOS/Android) アプリケーションの作成に取り組んでいる Web 開発者です。
そのため、私が理解しようとしているのは、中央サーバーに保存されているデータにアクセス (投稿/更新/削除) するモバイル アプリケーションをどのように設計する必要があるかということです。
説明のために、モバイル レシピ アプリケーション (「MyRecipeApp」という名前) を作成しているとします。MyRecipeApp の他のレシピ ユーザーと共有したいレシピと、自分だけに限定したいレシピがあります。
レシピを共有するために、すべてのレシピ (非公開と共有可能の両方) は集中型 (サーバー) データベースに保存され、MyRecipeApp はそのデータベースにアクセスしてその情報を取得します。
そのため、いくつか質問があります。
MyRecipeApp でデータベースにアクセスするにはどうすればよいですか? MyRecipeApp がデータベースと通信できるように、データベースをパブリックにアクセスできるようにしますか? もしそうなら、それは安全ではないようです。
SQL を MyRecipeApp にハードコードして (例: SELECT * FROM RECIPES WHERE USER = "John Smith")、データベースにアクセスしてレシピを取得しますか? もしそうなら、誰かが私のモバイルアプリをハッキングし、SQL を変更して情報を取得できるという意味で、それは安全ではないようです。
データベースへのフェッチごとにユーザーのユーザー名/パスワードを送信しますか? もしそうなら、データベースと MyRecipeApp 間のトラフィックをどのように暗号化していますか?
モバイル アプリケーションをどのように構築すべきかについて、他に考えていないことはありますか?