Amazon S3 - 直接アップロード、ユーザーが見ることができないアクションURLを隠す

We use Amazon S3 for storing large files, so we use direct upload from user's browser as described here: http://aws.amazon.com/articles/1434

私の質問は: 私は何とかフォームのアクションURLを隠すことができるので、ユーザーはファイルがアップロードされている場所を知ることができません。それは100%隠れているのだろうか、それとも経験豊富なユーザーがそれを見つけるのが難しくなったのだろうか?

ありがとう。

1

2 答え

さて、あなたはS3にアップロードするためにそれを使用することができるようにユーザーに情報を与える必要がある...それを非表示にする唯一の方法は、サーバーにPOSTしてからS3に再POSTすることですしかしそれは目的を破るものではないのですか?

心配は何ですか?あなたがリンクした文書は、あなただけがそのフォームを作ったことがあることを知るようにすべてに署名しなければならないことを示しています。だから誰にでもあなたのデータを手に入れることはできません。

2
追加された
まあ、いいえ...ソースコード(実際にはマークアップ)がクライアントに提供されるため、クライアントがそれに対処するためです。たとえそれが何らかの形で難読化されたとしても、ユーザーはアドレスを使用するためにアドレスを知る必要があります。これがセキュリティの動機付けであれば、それを行う方法ではありません。これがプライドモチベーション(社外のインフラストラクチャを使用して見たいと思わない)であれば、多くの企業がS3をまさにこの種のものに使用しています。これが何らかの理由であれば、おそらくもっと良い解決策があります。あなたはこれで何を達成しようとしていますか?
追加された 著者 Robert,
これは、URLを見栄えのよいものにしようとしているが、URLのホスト部分以外は変更されない場合には機能します。そういう傾向がある人は、ドメイン名をチェックして、それがS3を指していることが分かります。これがセキュリティ目的のためであれば、動作しません。
追加された 著者 Robert,
迅速なリプレイをありがとう。その目的は、大規模なファイルをどのように保存するのかを私たちのビジネスが知っていることですが、他のユーザーにそれらのファイルが保存されている場所を知らせたくありません。残念ながら、現在、データトラフィックが多いため、サーバーにアップロードするソリューションは不可能です。そこで、ユーザーからAmazon S3に直接アップロードしたいと考えています。何らかの形でURLアドレスを上書きすることは可能ですか?ソースコードでは、フォームはサーバーのURLで動作しますが、実際にはAmazonを指しますか?ありがとう。
追加された 著者 kamil,
さて、フォームのアクションURLを隠す必要はありません(私のサーバーのURLがあるかもしれませんが)、AmazonのURLを表示することはできません。私はちょうどこのソリューションに遭遇しました、それは動作するのですか? stackoverflow.com/questions/717663/… である必要があります。
追加された 著者 kamil,
さて、この相談に感謝します。いいえ、セキュリティ上の目的ではありません。私たちのバックエンドを隠そうとしているだけです。それだけです。
追加された 著者 kamil,

あなたはそれを隠すことはできません。なぜなら、ポイント全体がコンピュータから直接s3に直接向かうからです。これは可能な限り速い方法です。あなたがコードからそれを削除し、あなたのフォーム送信ボタンが使用するURLを要求してから非表示にしても、それはconsole.logのネットワークアクティビティにのみあります。 s3を使用する必要がある場合は、サーバー経由で実行する場合は、ノードよりも高速なアップローダをインストールする(またはc?hahaに書き込む)必要があります。どの言語/フレームワークがs3に最も速くアップロードできるのかという疑問が湧きます。

0
追加された