2016-08-09 8 views
0

私はiOSアプリケーションで作業しており、最近Amazon S3を使用し始めました。この問題に関する情報がどこにあるかわかりません。Amazon S3がURLからのファイルへのアクセスを妨げます

私たちはプロフィール写真を保存するためにS3を使用しています。任意のユーザーのプロフィール写真をダウンロードしてアプリに表示したいと考えています。私たちがやっていることは、ユニークなprofile IDを使用してキーを作成し、サーバにアップロードすることです。次に、同じのURLというプロファイルIDと指定し、プロフィール画像をアプリにダウンロードすることができます。

しかし、URLのprofile IDコンポーネントを変更するだけで、ユーザーがURLを把握し、ユーザーのすべてのプロフィール画像を表示できるようになるという懸念があります。キーをハッシュしてS3に送信することを提案しましたが、画像をダウンロードするには複数のプラットフォーム(iOS、Android、他のアプリなど)から同じハッシュを作成できる必要があります。

解決策は、サーバーにキーを送信し、ハッシュされた応答を返送し、ハッシュされたキーでアップロードを開始することでした。これは愚かなようだ。アプリでユーザーのプロフィール写真をダウンロードしたければ、ユーザーIDを取得してからハッシュを取得し、最後に画像をリクエストする必要があります。

ウェブサイト/アプリから画像を安全にアップロードしてダウンロードする方法が必要ですが、認証されていないユーザーがサーバー上のすべての画像を閲覧することはできません。しかし、私はベストプラクティスを理解することに失敗しており、誰かが私に正しい方向を向けることを望んでいました。

答えて

0

ユーザー情報や投稿など、その他の情報に追加のAPIが使用されていると仮定します。その要求でエンドポイントの時間ベースの有効期限URLを返すことはできますか? S3は、現在または24時間後から5分後など、特定の時間に期限切れになるリンクをサポートします。誰かがあなたのAPIのパス/エンドポイント、アプリケーションで使用されているトークンを把握してから、プロファイルIDを推測して最終的に画像をダウンロードする必要があります。

関連する問題