ポリシーファイルには、
<cross-domain-policy>
タグが 1 つ含まれ、このタグには
<allow-access-from>
タグが含まれている場合もあります。各
<allow-access-from>
タグには、
domain
という属性が 1 つ含まれています。この属性は、正確な IP アドレス、正確なドメインまたはワイルドカードドメイン(任意のドメイン)のいずれかを指定します。ワイルドカードドメインは、2 つの方法のいずれかで指定されます。
接尾辞は、ドットで始める必要があります。 ただし、この先頭のドットは検索には使用されません。ドットを除いた接尾辞に一致するドメインだけが検索されます。 例えば、xyz.com は *.xyz.com の一部と見なされます。IP ドメインの指定にワイルドカードは使用できません。
次の例は、*.example.com、www.friendOfExample.com および 192.0.34.166 に置かれている SWF ファイルへのアクセスを許可する URL ポリシーファイルを示しています。
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*.example.com" />
<allow-access-from domain="www.friendOfExample.com" />
<allow-access-from domain="192.0.34.166" />
</cross-domain-policy>
IP アドレスを指定した場合は、IP シンタックス(http://65.57.83.12/flashmovie.swf など)を使用してその IP アドレスからロードされた SWF ファイルにのみアクセスが許可されます。ドメイン名シンタックスを使用した SWF ファイルへのアクセスは許可されません。Flash Player は、DNS 解決を行いません。
次のように、すべてのドメインのドキュメントに対してアクセスを許可できます。
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
各
<allow-access-from>
タグには、オプションの
secure
属性もあります。この属性のデフォルトは
true
です。ポリシーファイルが HTTPS サーバー上にあり、HTTPS サーバー以外にある SWF ファイルで HTTPS サーバーのデータをロードする場合は、この属性を
false
に設定できます。
secure
属性を
false
に設定すると、HTTPS のセキュリティが影響を受けます。特に、この属性を
false
に設定すると、セキュアなコンテンツがスヌープ攻撃やスプーフィング攻撃にさらされる可能性があります。
secure
属性は
false
に設定しないことを強くお勧めします。
ロードするデータが HTTPS サーバー上にあり、そのデータをロードする SWF ファイルが HTTP サーバー上にある場合は、SWF ファイルを HTTPS サーバーに移動することをお勧めします。SWF ファイルを HTTPS サーバーに移動すると、セキュアデータのすべてのコピーを HTTPS の保護下に置くことができます。しかし、SWF ファイルを HTTP サーバー上に置く必要がある場合は、次のコードに示すように、
secure="false"
属性を
<allow-access-from>
タグに追加します。
<allow-access-from domain="www.example.com" secure="false" />
アクセスを許可するために、
allow-http-request-headers-from
タグも使用できます。このエレメントは、別の許可ドメインのコンテンツをホストとするクライアントにユーザー定義ヘッダーをユーザー自身のドメインに送信する許可を付与します。
<allow-access-from>
タグは、その他のドメインに、ユーザー自身のドメインからデータをプルする許可を付与しますが、
allow-http-request-headers-from
タグは、その他のドメインに、ユーザー自身のドメインに対してヘッダーの形式でデータをプッシュする許可を付与します。次の例では、SOAPAction ヘッダーを現在のドメインに送信することを任意のドメインに許可します。
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="SOAPAction"/>
</cross-domain-policy>
マスターポリシーファイルに
allow-http-request-headers-from
ステートメントが含まれている場合、このステートメントはホスト上のすべてのディレクトリに適用されます。含まれていない場合、このステートメントは、ステートメントを含むポリシーファイルのディレクトリおよびサブディレクトリにのみ適用されます。