« Adobe EDGE Now!(ティザー) | メイン | 本:Adobe:Innovation これまでの25年、これからの25年 »

クロスドメインポリシーファイル(crossdomain.xml)設定について

よく忘れちゃうのでメモ。間違っていたらご指摘ください。

20080228cross.jpg
↑youtubeのクロスドメインファイル。


○クロスドメインポリシーファイルとは

Flashから別ドメインにある外部ファイルを読む場合に必要になります。
設置場所は読み込みたい外部ファイルが置いてあるサーバになります。
ファイル名は「crossdomain.xml」とします。

ファイルには以下のように記述します。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="hogehoge" />
</cross-domain-policy>

○接続元ドメインの許可

不特定多数のサーバからのリクエストを許可する場合は[domain="*"]とします。
ある決められたサーバからのみを許可する場合は[domain="許可するドメイン"]とします。

ex)hoge.comから許可したい場合は[domain="http://hogehoge.com"]。
ex)同一ドメインのサブドメインからのリクエストを許可する場合は[domain="*.hogehoge.com"]。
ex)複数個のドメインを許可する場合は

<cross-domain-policy>
<allow-access-from domain="*.hogehoge.com" />
<allow-access-from domain="www.fugafuga.com" />
<allow-access-from domain="127.0.0.1" />
</cross-domain-policy>
と記述する。


○ポートの制限

また、ポートの制限をかけることができます。
XMLSocketクラスを使用してソケット通信を行う場合などに有効です。

<allow-access-from domain="*.hogehoge.com" to-ports="1024" />


○ファイルの設置場所

基本的にドメインの直下(ルートディレクトリ)に設置します。
swfは自動的にルートディレクトリにあるcrossdomain.xmlを読みにいきます。

もし、あるディレクトリに限って制限を設けたい場合は、該当するディレクトリに
crossdomain.xmlを設置し、swfに明示的にcrossdomain.xmlへのパスを指定します。

System.security.loadPolicyFile('http://hogehoge.com/sample/crossdomain.xml');


○HTTPS(セキュア領域)のファイルを読む場合

同一ドメインでもSSL領域のファイルを読む場合はcrossdomain.xmlの設置が必要です。
secure="false"を追記します。

<allow-access-from domain="http://hogehoge.com" secure="false" />

---crossdomainとは関係ないのですが、ハマったのでメモ---

○IEだとSSL領域のファイルが読めなくなる可能性がある件

IEを使用し、FlashからSSL領域にあるファイルを読み込もうとすると、
ロードが始まらない現象が報告されてます。

Flash-JP
Internet Explorer が SSL 経由によるファイルのダウンロードで "No-Cache" ヘッダーを処理できない

こちらにあるとおり、サーバからはきだされるヘッダーがNo-Cacheになっていると
正しく処理が出来ないようです。No-Cache意外にすると問題なくロードされます。


*参考サイト

[akihiro kamijo]Flash Player 9.0.115.0 セキュリティポリシー変更について
Flash CS3 ヘルプドキュメント
[yoshiweb.NET-blog]カスタムポリシーファイル crossdomain.xml について

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年2月29日 09:05に投稿されたエントリーのページです。

ひとつ前の投稿は「Adobe EDGE Now!(ティザー)」です。

次の投稿は「本:Adobe:Innovation これまでの25年、これからの25年」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type