何故 crossdomain.xml が必要なのか


Flash ムービーが異なるドメイン上のデータを参照するには、参照先のサーバルートに crossdomain.xml というポリシーファイルが設置されている必要があります。例えば、bitmap.dyndns.org 内のムービーが http://yahoo.co.jp/index.html をロードしても失敗しますが、http://flickr.com/index.html ならばロードすることが出来ます。Flickr のサーバルートには、全てのドメインを許可する旨を記述したポリシーファイルが置いてあるからです。

インターネット上のリソースなんだし許可なんていらないんじゃ?と思いがちですが、参照を防ぐ対象がインターネットに公開されているリソースのみとは限りません。ブラウザで実行されたムービーがローカルドライブを参照できないのは当然ですが、LAN 内のサーバにアクセスを試みることは可能です。もし、セキュリティ制約が無かったら、LAN 内のサーバから有益なファイルを探し出し、GET 又は POST で送信されてしまいます。どういうことかよく解るスライドが有ります。恐ろしいのは、このセキュリティ制約が Flash Player 7 からの機能なんですね…。

補足になりますが、プロジェクタやスタンドアローンの Flash Player は、ポリシーファイルを配置していないサーバやローカルドライブへの参照が可能です。Flash で作られた RSS ティッカーが良い例です。見知らぬ所からダウンロードしてきたスクリーンセーバが、ローカルドライブをスキャンしてファイルを勝手にアップロードすることも技術的にはあり得る話です。

カテゴリー: Flash   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>