Adobe Flex 3 ヘルプ

共有オブジェクト

Flash Player は、「共有オブジェクト」(SWF ファイルの外部で存続する ActionScript オブジェクト)をユーザーのローカルファイルシステム上で使用することも、リモート RTMP サーバー上で使用することもできます。共有オブジェクトは、Flash Player 内のその他のメディアと同様に、いくつかのセキュリティサンドボックスに区分されます。しかし、共有オブジェクトのサンドボックスモデルは、少し異なっています。なぜなら、共有オブジェクトはドメインの境界を越えてアクセスできるリソースではないからです。共有オブジェクトは常に、SharedObject クラスのメソッドを呼び出す各 SWF ファイルのドメインに固有の共有オブジェクトストアから取得されます。通常、共有オブジェクトストアは SWF ファイルのドメインよりもさらに細分化されています。デフォルトでは、SWF ファイルごとに、そのオリジン URL 全体に固有の共有オブジェクトストアが使用されます。

SWF ファイルは、SharedObject.getLocal() メソッドおよび SharedObject.getRemote() メソッドの localPath パラメータを使用して、その URL の一部分だけに関連付けられた共有オブジェクトストアを使用することができます。この方法により、SWF ファイルは、他の URL からの別の SWF ファイルとの共有を許可できます。'/'localPath パラメータとして渡した場合でも、引き続きそれ自体のドメインに固有の共有オブジェクトストアが指定されます。

「Flash Player の設定」ダイアログボックスまたは設定マネージャを使用して、共有オブジェクトへのアクセスを制限できます。デフォルトでは、ドメインごとに最大 100KB のデータサイズまでの共有オブジェクトを作成できます。管理ユーザーおよび一般ユーザーは、ファイルシステムへの書き込み機能に制限を適用することもできます。詳細については、管理ユーザーの管理およびユーザーの管理を参照してください。

共有オブジェクトがセキュアであることを指定するには、SharedObject.getLocal() メソッドまたは SharedObject.getRemote() メソッドの secure パラメータに、true を指定します。secure パラメータについて、次の点に注意してください。

  • このパラメータを true に設定すると、Flash Player は新しいセキュアな共有オブジェクトを作成するか、既存のセキュアな共有オブジェクトの参照を取得します。このセキュアな共有オブジェクトは、HTTPS 経由で配信される SWF ファイルで、secure パラメータを true に設定して SharedObject.getLocal() を呼び出した場合に限り読み書きできます。
  • このパラメータを false に設定した場合、Flash Player は新しい共有オブジェクトを作成するか、非 HTTPS 接続で配信された SWF ファイルから読み書きできる既存の共有オブジェクトへの参照を取得します。

呼び出し側の SWF ファイルが HTTPS URL からのものでない場合、SharedObject.getLocal() メソッドまたは SharedObject.getRemote() メソッドの secure パラメータに true を指定すると、SecurityError 例外が発生します。

共有オブジェクトストアの選択は、SWF ファイルのオリジン URL が基礎となります。このことは、SWF ファイルが単純な URL から提供されない、読み込みロードとダイナミックロードの 2 つの状況でも当てはまります。読み込みロードとは、LoaderContext.securityDomain プロパティを SecurityDomain.currentDomain に設定して SWF ファイルをロードする状況のことです。この状況では、ロードされた SWF ファイルは、ロードする側の SWF ファイルのドメインで始まり、その後に実際のオリジン URL を指定した疑似 URL を持ちます。ダイナミックロードとは、Loader.loadBytes() メソッドを使用して SWF ファイルをロードすることです。この状況では、ロードされた SWF ファイルは、ロードする側の SWF ファイルの完全 URL で始まり、その後に整数の ID が続く疑似 URL を持ちます。読み込みロードとダイナミックロードのどちらの場合も、LoaderInfo.url プロパティを使用して SWF ファイルの疑似 URL を検査できます。疑似 URL は、共有オブジェクトストアを選択する目的で実 URL とまったく同じように扱われます。疑似 URL の一部または全部を使用するには、共有オブジェクトの localPath パラメータを指定します。

ユーザーおよび管理者は、「サードパーティ共有オブジェクト」の使用を無効にすることを選択できます。これは、Web ブラウザ内で実行されているすべての SWF ファイルが共有オブジェクトを使用する方法で、その場合、その SWF ファイルのオリジン URL は、ブラウザのアドレスバーに表示される URL と異なるドメインに属しています。ユーザーと管理者は、プライバシーの理由から、クロスドメイントラッキングを避けるために、サードパーティ共有オブジェクトの使用を無効にすることを選択できます。この制限を回避するために、共有オブジェクトを使用するすべての SWF ファイルが、ブラウザのアドレスバーに表示されているのと同じドメインから SWF ファイルが提供される HTML ページ構造内でのみロードされるようにすることもできます。サードパーティ SWF ファイルから共有オブジェクトを使用しようとして、サードパーティ共有オブジェクトの使用が無効にされている場合、SharedObject.getLocal() メソッドおよび SharedObject.getRemote() メソッドは null を返します。詳細については、www.adobe.com/products/flashplayer/articles/thirdpartylso を参照してください。

 

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