時々更新される静的な JSON データをロードする必要がある iOS アプリケーションを構築しているとしましょう。この JSON データの作成には多くの労力が必要であり、帯域幅も無料ではありません。
他のアプリがサーバーに便乗してデータを使用するのを防ぎたい。
以前に暗号化された zip ファイルを試したことがありますが、かなり面倒です。
ベストプラクティスは何ですか?
100% 安全である方法はないことを認識しています。
ファイルを暗号化するのが最善の方法です。セキュリティがそれほど重要でない場合は、http リクエストの URL か、できればヘッダーに魔法の値を入れてください。たとえば、(gmt での) 日付のハッシュを計算し、それを要求ヘッダーに入れ、サーバーにチェックさせます。これはあまり安全ではなく、クロックがオフになっているデバイスでは機能しません。また、わずかにオフのクロックに対して昨日、今日、明日の値を受け入れたいと思うかもしれませんが、ファイルのカジュアルなダウンロードは停止します。
または、デバイスがサーバー要求を行い、サーバーが 100 個の値のうちの 1 つを返すチャレンジ/レスポンス システムを実装することもできます。次に、クライアントはその値で特別なことを行い (2 倍にする、salt でハッシュする、テーブル ルックアップで使用するなど)、次のサーバー リクエストで結果を使用します。
最も単純で愚かな方法は、固定のマジック値を http ヘッダーに入れることです。ハッカーを 10 分以上止めることはできませんが、curl または wget を使用してデータをダウンロードする一部のエンドユーザーを止めることができます。