0

FLV ビデオを S3 サーバーから Flash アプリケーションにロードしたいと考えています。元のファイルを保護する必要があります (つまり、認証されたユーザーに対して読み取り専用に設定されたアクセス許可)。そのため、ビデオ ファイルは署名付き URL で呼び出されます。署名されていない URL の FLV を Flash アプリに読み込んで再生することができました。

1) 飛び込む前に知っておくべき問題はありますか?
2) AS3 S3 ライブラリを使用して署名を生成する必要がありますか?
3) アプリの読み込み時に (PHP などから) 署名を 1 つ生成し、これを Flash に送信して、読み込まれた各 FLV ファイルで使用することはできますか?
4) 画像と音声も Flash アプリに読み込まれるため、保護する必要があります。

ありがとうスティーブン

4

3 に答える 3

0

はい、Flash で署名付き URL を再生できます。問題ありません...

周りを読んで、私自身のいくつかの質問に答えることができました-

1) はい、たくさん!
2) Flash 内から URL に署名することはお勧めできません。秘密鍵が SWF に含まれているか、PHP から読み込まれる必要があるため、ここではセキュリティ上のリスクになる可能性があります。おそらく、サーバーで PHP メソッドを呼び出して署名付き URL を生成し、ファイルを Flash に返すか、ファイルへのパスを返す (sendAndLoad?) のが最善の方法です。しかし、これはどうにか回避できる余分なステップのように思えます!
3)これについてはまだわかりませんが、署名プロセスにはファイルへのパスを使用する必要があるため、各 URL の各署名は一意であると思います - これは正しいですか?

これについてさらにアドバイスがある人はいますか?スティーブン

于 2009-03-26T13:34:01.657 に答える
0

どうやら私は自分の Web サイト用に MP3 ファイルを使って同じことを試みるのに膨大な時間を費やしたようです。答える:

1) あまりにも複雑なタスクではありません。(私のガジリオン時間にもかかわらず)

2) Flash 内から URL に署名しないでください。署名付き URL を取得するために AJAX 要求を行うことができるホストされた PHP ファイルを使用します。このため、S3 バケットのディレクトリ構造は、何らかの入力が与えられたときにファイルの場所をプログラムで決定できるようにする一貫したパターンを持っている必要があります。

これはバイパスできるプロセスではありません。URL 署名はサーバー側でのみ行う必要があり、クライアント側では行う必要はありません。私の AJAX サンプル コードを見たい場合はお知らせください。ここに貼り付けます

3) 署名プロセスでは、少なくとも 3 つの変数 (タイムスタンプ、ファイルの場所 (bucket/folder/floder/file)、S3 シークレット キー) を使用して署名を作成します。したがって、ファイルの各リクエストには個別の署名が必要です。署名付き URL の有効期限は非常に限られています (たとえば 10 秒)。その 10 秒以内に URL がわかったユーザーは、ファイルをダウンロードできます。

タイムスタンプだけで異なる署名を使用すると、URL に署名するという目的全体が (完全ではないにしても、ほとんど) 無効になる可能性があります。

URL に署名するには、次のスクリプトを使用します。それは魅力のように機能し、時間通りに取得できていれば、多くの時間を節約できたでしょう. 追加のセキュリティについては、以下のポイント 5 も参照してください。

http://www.richardpeacock.com/blog/2010/07/amazon-aws-s3-query-string-authentication-php

4) 何らかの理由で、FLASH プレーヤーが MP3 ファイルの署名付き S3 URL を再生しません。URLの.mp3拡張子が読み取られると、URLの一部を無視すると思います(GUESS)。したがって、URL のクエリ文字列部分はプレーヤーによって無視され、ファイルを読み取ることができません。ただし、彼らは私の S3 Bucker で公的に復元可能なファイルを再生します。私は自分のサイトに Silverlight を使用しており、FLASH ソリューションに必死に使用しています。それが保護された FLV ファイルが再生されない理由である場合。この場合、URL だけではなく、ファイル全体をクライアントにプロキシする必要があります。私が避けようとしている解決策。

5) URL をさらに保護するには、以下のリンクにある 1 つまたは複数の方法を使用して URL を難読化します。それらは非常に単純です。

http://www.pc-help.org/obscure.htm

6) さらに、セキュリティ アプローチは、URL の有効期限が切れる前にブラウザでファイルの再生を開始する必要があります。有効期限は、有効期限が切れる前に URL が検出されないように十分に短くする必要があり、再生を開始するための十分な待ち時間を提供できるように十分に長くする必要があります。これは多かれ少なかれ、自己期限切れ URL を使用した合理的に安全なストリーミングの核心です。

于 2012-12-02T11:22:26.203 に答える
0

あなたの特定のポイントに答えるために

注意が必要な問題:私の最初の回答のポイント4。

Amazon S3 ライブラリが必要ですか? : はい、そうではありません. 私の最初の回答のポイント 3. リンクのスクリプトはドキュメントを参照しなくても使用できます. ただし、Amazon の署名方法を理解する必要があります.

1つの署名を使用するだけですか? : 推奨されません, 署名を使用するすべての目的を無効にします. 署名はファイルパスと名前を強制的に使用すると思うので、おそらくそうではありません.

音声と画像の保護: すべての保護は合理的です (最終用途に時間や知識の制約がなく、コードを書くことができると仮定します)。

画像 : Javascript を使用して右クリックを無効にします。オーディオ : ストリームは複雑な操作でダウンロードできます。

JavaScript を無効にするか、JS Scratchpad / Console から JS コードをパンチすることで、画像を確実にダウンロードできます。したがって、JS が有効になっているかどうかを検出しても、画像の保護には役立ちません。

于 2012-12-02T12:04:43.673 に答える