カスタムポリシーファイルの場所について

Flash Player 7 (7.0.19.0) は、System.security.loadPolicyFile というメソッドをサポートしています。このメソッドを使用すると、クロスドメインポリシーファイルの検索先として任意の場所を指定でき、必ずしもルートディレクトリである必要がなくなります。Flash Player 7 (7.0.14.0) では、サーバーのルートに置かれているポリシーファイルしか検索されませんでしたが、サイト管理者にとっては、このファイルがルートディレクトリに格納されていると都合の悪い場合があります。loadPolicyFile メソッドと XMLSocket 接続の詳細については、『ActionScript 2.0 リファレンスガイド』のXMLSocket ポリシーファイルについておよび「loadPolicyFile (security.loadPolicyFile メソッド)」を参照してください。

loadPolicyFile メソッドを使用した場合、サイト管理者は、ポリシーファイルを必要とする SWF ファイルが loadPolicyFile を呼び出して、このファイルの場所を Flash Player に通知できる限り、ポリシーファイルを任意のディレクトリに格納できます。ただし、ルートディレクトリに置かれていないポリシーファイルには、スコープの制限が適用されます。ポリシーファイルは、サーバーの階層において、自分と同じレベル以下の場所にしかアクセスを許可しません。

loadPolicyFile メソッドは、Flash Player 7 (7.0.19.0) 以降でのみ使用できます。SWF ファイルの作成者は、loadPolicyFile メソッドを使用する場合、次のいずれかが必要になります。

それ以外の場合、作成者は、ドメイン間の処理でエラーが発生した場合に実行される SWF ファイルを作成する必要があります。

注意

 

SWF ファイルが loadPolicyFile に依存している場合、Flash Player 6 以前または Flash Player 7 (7.0.19.0) 以降を使用しているユーザーには問題は生じません。ただし、Flash Player 7 (7.0.14.0) ユーザーの場合、loadPolicyFile がサポートされません。

デフォルト以外の場所にポリシーファイルを置き、そのポリシーファイルに依存する要求を行う場合は、次のように、System.security.loadPolicyFile を呼び出しておく必要があります。

System.security.loadPolicyFile("http://www.adobe.com/folder1/folder2/crossdomain.xml");
var my_xml:XML = new XML();
my_xml.load("http://www.adobe.com/folder1/folder2/myData.xml");

loadPolicyFile を使用して、スコープが重複する複数のポリシーファイルをロードできます。Flash Player は、すべての要求について、スコープにその要求の場所が含まれるファイルをすべて照会します。あるポリシーファイルでドメイン間アクセスが許可されていなくても、別のファイルでデータへのアクセスを許可できます。すべてのポリシーファイルでアクセスが拒否された場合、Flash Player は、crossdomain.xml ファイルのデフォルトの場所 (ルートディレクトリ) を参照します。デフォルトの場所にポリシーファイルが見つからなかった場合、その要求はエラーになります。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001086.html