Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > セキュリティについて > サーバーサイドポリシーファイルによるデータへのアクセス許可 > ドメイン間のデータロード許可 | |||
Flash ドキュメントが別のドメインのデータにアクセスしようとすると、Flash Player が自動的にそのドメインからポリシーファイルをロードしようとします。データをアクセスしようとしている Flash ドキュメントのドメインがポリシーファイルに含まれている場合、データへのアクセスが自動的に許可されます。
ポリシーファイルは必ず crossdomain.xml という名前にし、ルートディレクトリに置くか、別途 ActionScript でデータを提供しているサーバー上のディレクトリに置きます (カスタムポリシーファイルの場所についてを参照)。ポリシーファイルは、HTTP、HTTPS、または FTP 経由で通信するサーバーでのみ機能します。ポリシーファイルは、そのファイルが置かれているサーバーの特定のポートとプロトコルに固有です。
たとえば、https://www.adobe.com:8080/crossdomain.xml にあるポリシーファイルは、HTTPS 経由でポート 8080 から www.adobe.com に対して呼び出されるデータロード呼び出しにのみ適用されます。
ただし、別のドメインのソケットサーバーに接続するために XMLSocket オブジェクトを使用する場合は、この規則は当てはまりません。その場合、同じドメインでポート 80 でソケットサーバーとして実行されている HTTP サーバーが、メソッド呼び出し用のポリシーファイルを提供する必要があります。
XML ポリシーファイルには、<cross-domain-policy> タグが 1 つ含まれています。この <cross-domain-policy> タグには、<allow-access-from> タグが含まれている場合もあれば含まれていない場合もあります。各 <allow-access-from> タグには、domain という属性が 1 つ含まれています。この属性は、正確な IP アドレス、正確なドメイン、またはワイルドカードドメイン (任意のドメイン) のいずれかを指定します。ワイルドカードドメインを指定するには、アスタリスク (*) 1 つを使用するか、アスタリスクの後に接尾辞を続けます。前者はすべてのドメインとすべての IP アドレスを意味し、後者は指定の接尾辞で終わるドメインのみを意味します。接尾辞は、ドットで始める必要があります。ただし、この先頭のドットは検索には使用されません。ドットを除いた接尾辞に一致するドメインだけが検索されます。たとえば、adobe.com は *.adobe.com の一部と見なされます。IP ドメインの指定にワイルドカードは使用できません。
IP アドレスを指定した場合は、IP シンタックス (http://65.57.83.12/flashmovie.swf など) を使用してその IP アドレスからロードされた SWF ファイルにのみアクセスが付与されます。ドメイン名シンタックスを使用してロードされた SWF ファイルには付与されません。Flash Player は、DNS 解決を行いません。
ここで、ポリシーファイルの例を紹介します。adobe.com の Flash ドキュメントから、adobe.com、www.helpexamples.com、*.adobe.com、および 105.216.0.40 の Flash ドキュメントへのアクセスを許可するポリシーファイルです。
<?xml version="1.0"?> <!-- http://www.adobe.com/crossdomain.xml --> <cross-domain-policy> <allow-access-from domain="www.helpexamples.com" /> <allow-access-from domain="*.adobe.com" /> <allow-access-from domain="105.216.0.40" /> </cross-domain-policy>
また、次のように、すべてのドメインのドキュメントに対してアクセスを許可することもできます。
<?xml version="1.0"?> <!-- http://www.adobe.com/crossdomain.xml --> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy>
各 <allow-access-from> タグには、オプションで secure 属性を指定することもできます。secure 属性は、デフォルトで true に設定されています。ポリシーファイルが HTTPS サーバー上に置かれているとき、HTTP サーバー上の SWF ファイルによって、HTTPS サーバーからデータをロードするには、この属性を false に設定します。
secure 属性を false に設定すると、HTTPS のセキュリティが影響を受けます。
HTTPS サーバーから SWF ファイルをダウンロードしているとき、それをロードする SWF ファイルが HTTP サーバー上に置かれている場合は、次のように、secure="false" 属性を <allow-access-from> タグに追加する必要があります。
<allow-access-from domain="www.adobe.com" secure="false" />
<allow-access-from> タグを含まないポリシーファイルは、サーバーにポリシーファイルを設定されていない場合と同じ結果を生みます。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001085.html