セキュリティサンドボックス侵害に関して

ローカル環境でswfを再生した場合に、セキュリティサンドボックス侵害というエラーに
悩まされた事があるので、その対応方法について。

参考:
Adobe ActionScript 3.0 * 管理ユーザのコントロール


別ドメインのswfに対してアクセスを行った場合に発生し、
ExternalInterfaceを使用しJavaScriptと連携するような場合は注意が必要となります。

SecurityError: Error #2070: セキュリティサンドボックス侵害

これはFlashPlayerが悪意のあるswfを再生しない為のもので
信頼できるswfでなければセキュリティサンドボックス侵害エラーを発生させ
実行環境を守る為のもの。

その為、信頼できるswfであることをFlashPlayerに教えてあげる必要がある。

<対応方法>

Macromedia/FlashPlayer/#Security/FlashPlayerTrust内にcfgファイルを作成。
  cfgファイルには実行したいswfのパスを記述する。

:
C:\Users\ユーザー名\AppData\Roaming\Macromedia\Flash Player\#Security\FlashPlayerTrust
(※AppDataは隠しファイルなので、表示されない場合は設定を変更してください)


C:\Documents and Settings\ユーザ名\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust


/home/ユーザ名/.macromedia/Flash_Player/#Security\FlashPlayerTrust

つまり、このcfgファイルこそ信頼できるswfの情報なので
ここに登録する事で、FlashPlayerは安心してくれるという訳。

FlexBuilderを使用している場合、自動的にワークスペースのパスが記された
'flexbuilder.cfg'というファイルが\FlashPlayerTrust配下に作成される為
セキュリティサンドボックス侵害エラーは発生しない。


プロトタイプなどを作成し、リソースだけを配布した際に
「これはなんで動かないのですか?」などと赤っ恥をかかない為に
十分注意が必要となりますね。
(・・・配布前にテストを行うと思いますが念の為)