0

file.download(urlRequest);を使用するAS3スクリプトを作成できました。-これは、Webアクセス可能な場所を参照するときに正常に機能します。フラッシュを取得して、フラッシュが存在するサーバー上の場所を参照することは可能ですか?ダウンロードにアクセスできるファイルをできるだけ安全にしたい。

AS3でPHPファイルを参照してダウンロードを開始できることはわかっていますが、Silverlightアプリケーション内でブラウザーウィンドウを使用している場合は機能しないため、可能であればフラッシュでダウンロードを行う必要があります。

どんな助けでも大歓迎です。

4

1 に答える 1

0

おそらく、サーバーで htaccess ルールを使用しますか? リクエストが別のホスト/サーバーから発信された場合は、403 エラーで応答します。リクエストが同じホスト/サーバーからのものである場合、ファイルをダウンロードしますか?

例えば:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^www.your-site.com [NC]
RewriteRule .* - [F]

リファラー ヘッダーはブラウザーでスプーフィングまたは無効化される可能性があるため、これはアクセスを防止する最も安全な方法ではありません。

別のアイデア:

ファイルの URL は、php スクリプトを介してプッシュされます。リクエストの IP アドレスがデータベースにない場合は、ファイルのダウンロードを許可しません。フラッシュを使用して、IP アドレスを使用してサーバーにリクエストを送信し (サーバーはその IP をデータベースのホワイトリストに追加します)、次にfile.download(urlRequest)?を実行します。

誰かがIPを投稿し、リファラーヘッダーを偽装して、ファイルを取得できるため、ここでも最も安全ではありません...

それでも、何もないよりはましです。

于 2012-08-01T10:30:01.797 に答える