S3バケツからのユーザーのダウンロードを提供する:私はそれを間違っていますか?

StackOverflow https://stackoverflow.com//questions/21032921

質問

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

今、私たちは塊のS3からファイルを引っ張るダウンロードスクリプトを持ち、それをユーザーに渡します。これは大丈夫です、そしてブラウザがそれをサポートしているならば、ダウンロードの再開を許可しても。誰も不満を持っていません。

しかし、私はだけ誤っていることをem>であると私はこのナッグ感を持っています、そして、ユーザーがs3からまっすぐダウンロードできるような方法がある必要があります - しかし、ログインした場合にのみ私たちのサイトに。

事前署名されたURL - これは私が必要なものですか?もしそうなら、ユーザーがLocation: https://bucket.s3...をヒットしたときに/download.php?fileid=1234リダイレクトを実行するだけです。

再開をサポートするダウンロードマネージャーとどのように機能しますか?それから期限切れのキーを使用してS3に直接進んでいるため、働くのがやめて再開しますか?再開は非常に珍しくありません。

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

役に立ちましたか?

解決

提案された解決策の両方が大丈夫です。それはあなたのサーバーを介して来るすべてのデータを持っているかどうか、またはあなたが設定した時間制限後にリンクが期限切れになったときのリンクが終わったのかのようなものです。

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

事情を解除することなく働いている解決策を再実装することはめったにありません(予想されるスケーリングのニーズ、セキュリティ上の懸念など)。

とはい、彼らが有効期限の後に署名されたURLにアクセスしようとすると失敗します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top