何故 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 ティッカーが良い例です。見知らぬ所からダウンロードしてきたスクリーンセーバが、ローカルドライブをスキャンしてファイルを勝手にアップロードすることも技術的にはあり得る話です。