0

私たちのサイトでは、ユーザーが自分のプライベート ファイルをサイトに保存できます。AWS に移行したため、現在は S3 バケットにあります。ユーザーはファイルを再度ダウンロードできますが、Web サイトにログインした後でのみ可能です。直接の URL ( ) がある場合でも/download.php?fileid=1234、ユーザーは最初にログインする必要があります。

現在、S3 からファイルをチャンクで取得し、それをユーザーに渡すダウンロード スクリプトがあります。これは問題なく動作し、ブラウザがサポートしている場合はダウンロードを再開することもできます. 誰も苦情はありません。

しかし、私は自分のやり方が間違っているのではないかというしつこい気持ちがあり、ユーザーが S3 から直接ダウンロードできるようにする方法が必要です。

署名付き URLを調べていますが、これは必要ですか? Location: https://bucket.s3...もしそうなら、ユーザーがヒットしたときにリダイレクトを行うべきだと思い/download.php?fileid=1234ますか?

これは、再開をサポートするダウンロード マネージャーではどのように機能しますか? 有効期限が切れたキーを使用して S3 に直接移動するため、レジュームは機能しなくなりますか? 再開は非常にまれであるため、通常のユーザーが最初にサーバーを通過する必要がないことは、速度を上げる価値があるかもしれません...

皆さんは、S3 からの安全なダウンロードをどのように処理していますか?

4

1 に答える 1

0

提案されたソリューションはどちらも問題ありません。サーバーを介してすべてのデータを受信するかどうか(その後、スケーリングする必要があります)、または設定した制限時間後にリンクが期限切れになっても問題ないかどうかなどに依存します.

私はさまざまな状況でこれらの両方のアプローチを使用します。

酌量すべき状況 (予想されるスケーリングの必要性、セキュリティ上の懸念など) なしで機能しているソリューションを再実装することはほとんどお勧めしません。

はい、有効期限後に署名付き URL にアクセスしようとすると、失敗します。

于 2014-01-10T01:30:00.207 に答える