yoshiweb.NET-blog


ナビゲーション













HOME > blog > カスタムポリシーファイル crossdomain.xml について
« 日本語版 10月12日? | mx.transitions.Tweenクラス を拡張 »

カスタムポリシーファイル crossdomain.xml について

※2008/03/18:メタポリシーについて少しだけ追記。

Flash でドメインをまたいで外部ファイルを読み込む場合、参照側(外部ファイルが置いてある方)のサーバーに、カスタムポリシーファイル crossdomain.xml が必要。

crossdomain.xml ファイルの内容
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="メタポリシー設定" />
    <allow-access-from domain="外部ファイルを読み込む方のドメイン" />
</cross-domain-policy>

メタポリシー設定
all: すべてのポリシーファイルが許可されます。
by-content-type: Content-Typeがtext/x-cross-domain-policyのすべてのポリシーファイルが許可されます。
by-ftp-filename: FTPサーバにのみ使用できます。
master-only: マスターポリシーファイル( /crossdomain.xmlにあります)のみが許可されます。
none: ポリシーファイルは許可されません。
none-this-response: HTTP応答ヘッダでのみ指定できる特別なメタポリシー。

ドメインの指定の仕方は
・完全なドメイン名 (例:www.example.co.jp )
・IP アドレス (例:65.57.83.12 )
・ワイルドカードを使用したドメイン名 (例:*.example.co.jp )
・完全なワイルドカード:* (アスタリスクひとつ)
※この場合、すべてのドメイン、および IP アドレスからのアクセスが許可される。


例:www.example.co.jp上に設置されたFlashからの、80番ポートへのアクセスを許可する
<?xml version="1.0" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="www.example.co.jp" to-ports="80" />
</cross-domain-policy>


例:全てのドメインのアクセスを許可する
<?xml version="1.0" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*"  />
</cross-domain-policy>
※ allow-access-from domainを*にした場合のリスクは下記のリンク先が参考になりそうです。
crossdomain.xml と CSRF 脆弱性について - 川o・-・)<2nd life<
ここが危ない!Web2.0のセキュリティ:第4回 Flash,JSONでのクロスドメインアクセス|gihyo.jp … 技術評論社
Flashとポリシーファイルの密接なカンケイ − @IT

例:他の全てのドメインから読み込まれるのを防ぐには allow-access-from タグの無いカスタムポリシーファイルをルートディレクトリに配置
<?xml version="1.0" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
</cross-domain-policy>


※ 2008/04 の Flash Player セキュリティアップデートからHTTP リクエスト送信時にヘッダに属性を追加する場合、以下のような記述も必要になるそうです。
<allow-http-request-headers-from domain="www.example.com" headers="HeaderName"/>
Adobe - デベロッパーセンター : ドメイン間でヘッダを送信するにはポリシーファイルが必須


【基本情報】
Macromedia Flash Player 7 におけるセキュリティの変更について
Flashヘルプ - ドメイン間のデータロード許可
Flashヘルプ - Flash Player セキュリティ

【Flash Player9のセキュリティアップデート関連情報】
Adobe - デベロッパーセンター : セキュリティに関するFlash Player 9の変更点
Adobe - デベロッパーセンター : 緊急情報:2008年4月に行われるFlash Player9のセキュリティアップデートへの対応のお願い
akihiro kamijo: 来月 (2008/4) の Flash Player セキュリティアップデート
akihiro kamijo: ソケットポリシーファイルと Flash Player セキュリティ

投稿者 yoshiweb - Flash - 2005/10/06 - 12:33:07 - Permalink はてなブックマークに追加

Comments

こんにちは。 ごんべいといいます。

FLASH勉強中で、このサイトを発見しました。すごく勉強になります。教えて頂きたいのですが、
allow-access-from domainを*にした場合、すべのドメイン、およびIPアドレスからアクセスが可能となりますが、その場合どのようなリスクが考えられるか教えてもらますでしょうか。
投稿者 ごんべい - 2006/07/12 - 11:33:31
こんにちは、ごんべいさん。
CGIなどを使えば別ドメインのデータも読み込めると思うので、それほど重大なリスクを伴うことはないような気もしますがセキュリティの専門家ではないので詳しくはわかりません。無責任な言い方ですが自己責任でお願いします。m(_ _)m
投稿者 yoshiweb - 2006/07/13 - 12:15:05
allow-access-from domainを*にした場合のリスクについて参考になりそうなリンク先を追加しました。
ついでに to-ports 属性と secure 属性の例を追加しました。
詳しくは Adobeサイトなどを参考にしてください。
投稿者 yoshiweb - 2008/01/11 - 19:22:23

コメントを書く

※ スパム対策のためコメント内の URL は全角で書いてください。あとで半角に変換します。