Adobe Flex 3 ヘルプ

Flash Player セキュリティの概要

Flash Player セキュリティの大部分は、ロードされた SWF ファイル、メディア、およびその他のアセットの元のドメインに基づいています。www.example.com などの特定のインターネットドメインの SWF ファイルは、常にそのドメインのすべてのデータにアクセスできます。これらのアセットは「セキュリティサンドボックス」と呼ばれる同じセキュリティグループに配置されます。詳細については、セキュリティサンドボックスを参照してください。

例えば、SWF ファイルは、ドメイン内の SWF ファイル、ビッドマップ、オーディオ、テキストファイル、およびその他のアセットをダウンロードできます。また、同じドメインの 2 つの SWF 間のクロススクリプトも、両方のファイルが ActionScript 3.0 を使用して記述されていれば可能です。「クロススクリプト」は、SWF ファイルが ActionScript を使用して別の SWF ファイルのプロパティ、メソッドおよびオブジェクトにアクセスする機能です。しかし、ActionScript 3.0 で記述された SWF ファイルと旧バージョンの ActionScript で記述された SWF ファイルではクロススクリプトはサポートされません。この場合は、LocalConnection クラスを使用して通信できます。詳細については、クロススクリプトを参照してください。

デフォルトでは、次の基本的なセキュリティルールが常に適用されます。

  • 同じセキュリティサンドボックス内のリソースは、常に互いにアクセスできます。
  • リモートサンドボックス内の SWF ファイルは、ローカルファイルおよびデータにはアクセスできません。

Flash Player では、以下を個別のドメインとみなし、それぞれに対して個別のセキュリティサンドボックスを設定します。

  • http://example.com
  • http://www.example.com
  • http://store.example.com
  • https://www.example.com
  • http://192.0.34.166

http://example.com などの名前付きドメインが http://192.0.34.166 などの特定の IP アドレスに対応している場合も、Flash Player は両方に対して別々のセキュリティサンドボックスを設定します。

SWF ファイルが他のファイルのサンドボックスのアセットへアクセスすることを許可するには、開発者は次の 2 つの基本的な方法を使用できます。

デフォルトでは、SWF ファイルが他のドメインの ActionScript 3.0 SWF ファイルをクロススクリプトし、他のドメインのデータをロードする機能は使用できません。この機能は、ロードされた SWF ファイルの Security.allowDomain() メソッドへの呼び出しを使用して許可できます。詳細については、クロススクリプトを参照してください。

Flash Player セキュリティモデルでは、「コンテンツ」のロードと「データ」へのアクセスまたはロードは区別されています。

  • コンテンツのロード -「コンテンツ」はメディアとして定義され、これには、Flash Player が表示できるビジュアルメディア、オーディオファイル、ビデオファイルまたは表示されるメディアが入っている SWF ファイルが含まれます。「データ」は、ActionScript コードからのみアクセスできるものとして定義されます。コンテンツは、Loader クラス、Sound クラス、NetStream クラスなどのクラスを使用してロードできます。
  • データまたはロードデータとしてのコンテンツへのアクセス - データには、ロードされたメディアコンテンツからデータを抽出する、または外部ファイル(XML ファイルなど)からデータを直接ロードすることでアクセスできます。ロードしたメディアからデータを抽出するには、Bitmap オブジェクト、BitmapData.draw() メソッド、Sound.id3 プロパティまたは SoundMixer.computeSpectrum() メソッドを使用します。データをロードするには、例えば URLStream、URLLoader、Socket、XMLSocket などのクラスを使用します。

Flash Player セキュリティモデルは、コンテンツのロードとデータへのアクセスのために、様々な規則を定義しています。一般に、コンテンツのロードには、データへのアクセスより制限が少なくなっています。

一般に、コンテンツ(SWF ファイル、ビットマップ、MP3 ファイル、およびビデオ)はどこからでもロードできますが、コンテンツがロードする側の SWF ファイルのドメイン以外のドメインにある場合は、別々のセキュリティサンドボックスに分割されます。

コンテンツのロードには、次のような制限があります。

  • デフォルトでは、ローカルの SWF ファイル(ユーザーのハードディスクなどの非ネットワークアドレスからロードされた SWF ファイル)は、local-with-filesystem サンドボックスに分類されます。これらのファイルでは、ネットワークからコンテンツをロードできません。詳細については、ローカルサンドボックスを参照してください。
  • RTMP(Real-Time Messaging Protocol)サーバーでは、コンテンツへのアクセスを制限することができます。詳細については、RTMP サーバーを使用して配信されるコンテンツを参照してください。

ロードされたメディアがイメージ、オーディオ、またはビデオの場合、セキュリティサンドボックス外部にある SWF ファイルのドメインがメディアの元のドメインにあるクロスドメインポリシーファイルに含まれていなければ、ピクセルデータやサウンドデータなどのメディアのデータにその SWF ファイルからアクセスすることができません。詳細については、ロードされたメディアへのデータとしてのアクセスを参照してください。

その他のロードされたデータの形態としては、テキストファイルまたは XML ファイルがあり、これらは URLLoader オブジェクトを使用してロードされます。この場合も、別のセキュリティサンドボックスからのデータにアクセスするには、元のドメインでのクロスドメインポリシーファイルによって許可が与えられている必要があります。詳細については、URLLoader と URLStream の使用を参照してください。

 

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