アクセシビリティ
デベロッパーリソース

目次

Flash Player 8 のセキュリティ機能の変更点

Flash Player の埋め込みとローカルセキュリティ

Flash Player がカスタム GUI の 1 コンポーネントとして埋め込まれているローカルアプリケーションを作成することができます。これは、実行可能プログラムとして作成されるネイティブローカルアプリケーションの場合のみ可能です。

Flash Player のこのような使用について、Macromedia は現時点ではサポートしていませんが、禁止もしていません。作成したアプリケーションで Flash Player を再配布することはできず、ユーザーのコンピュータにインストールされている Flash Player のバージョンによってアプリケーションの動作が左右されてしまうため、Flash Player を埋め込んだアプリケーションを作成することにはリスクが伴います。ユーザーは Flash Player をいつでもアップグレードできるため、作成したアプリケーションで予期しない動作が発生する可能性があります。

Macromedia では、Flash Palyer が埋め込まれたアプリケーションに過度の問題が発生しないように努力しています。

Flash Player 8 以降では、Flash Player が埋め込まれている場合に次のローカルセキュリティ機能が適用されます。

  • ブラウザ以外のコンテナ内でホストされていることを Flash Player ActiveX コントロールが検知すると、新しいローカルセキュリティ規則が無効化され、すべてのローカル SWF が local-trusted サンドボックスに置かれます。Flash Player ActiveX コントロールが、ブラウザ以外のコンテナ内でホストされている Internet Explorer ActiveX コントロールのインスタンス内でインスタンス化されている場合でも、この処理が行われます。ただし、これが該当するのは、"最終的な" コンテナアプリケーションのみです。Flash Player ActiveX コントロールを埋め込む ActiveX コントロールを保持し、その ActiveX コントロールが Internet Explorer 内に埋め込まれている場合、Flash Player はブラウザ内で実行されていることを検知し、ローカルセキュリティ規則が有効になります。
  • Flash Player のプラグインプレーヤーは、そのコンテナがブラウザであるかどうかを検知せず、新しいローカルセキュリティ規則を常に有効化します。ただし、エンドユーザーが設定マネージャを使用して、またはインストーラが FlashPlayerTrust 設定ファイルを使用して、Flash Player プラグインが埋め込まれている実行可能アプリケーションのパスを信頼性のあるパスに指定した場合、プラグインは新しいローカルセキュリティ規則を無効化します。
  • ActiveX とプラグインプレーヤーには、新しいローカルセキュリティルールを有効にするかどうかをホストアプリケーションが選択することを許可する、書き出された API があります。これらの API は、Flash Player のライフサイクルのごく初期の段階で、コンテンツがロードされる前に呼び出される必要があります。呼び出しは次のようになります。

    ActiveX (IDispatch APIs):
    HRESULT IShockWaveFlash::EnforceLocalSecurity() 
    HRESULT IShockWaveFlash::DisableLocalSecurity()
              
    Plugins (DLL exports):
    NPError Flash_EnforceLocalSecurity() 
    NPError Flash_DisableLocalSecurity()
              

Flash Player が埋め込まれたローカルアプリケーションを作成する場合には、ローカルセキュリティ規則を有効にするかどうかについて、および適切な API を呼び出すことについて、明示的に決定する必要があります。一般的に、インターネットなど、コントロール下にないソースから SWF コンテンツを再生するためにも Flash Player を使用する場合は、ローカルセキュリティ規則を有効にします。それに対して、コントロール下にある特定の SWF のみを再生し、作成したアプリケーションに組み込む場合は、ローカルセキュリティを無効にして最大限の柔軟性を持たせる方が便利です。