Flash Player 10 のリリース候補版が Adobe Labs に公開されています。(Flash Player 10@Labs) 何も無ければこのまま公開されるものですので、既存のコンテンツが正しく再生されるか、コンテンツ制作者やサイト管理者のみなさま検証よろしくお願いします。
さて、Flash Player 10 ではいくつかセキュリティ面での変更が行われています。これらは仕様ですので、こちらが原因で動作しなくなった場合にはコンテンツ側を修正することが必要です。以下、 3 + 1 点が変更された項目です。
1. メタポリシーが必須に
昨年公開された 9.0.115.0 からサポートされたメタポリシーファイルが、Flash Player 10 以降では必須になります。ポリシーファイル (crossdomain.xml) をサイトのルート以外に置いている環境では影響を受けます。
自サーバから配信される全てのコンテンツのコントロールが可能な (勝手にポリシーファイルを配信されたりしない) 環境では、サイトルートのポリシーファイル (マスターポリシーファイル) にメタポリシーとして下のように all を設定するだけでよいと思います。
<cross-domain-policy> <site-control permitted-cross-domain-policies="all"/> </cross-domain-policy>
詳細な管理が必要な環境では、要件に応じてメタポリシーを選択することができます。例えば、メタポリシーとして by-content-type を指定すると content-type が text/x-cross-domain-policy のファイルのみがポリシーファイルとして使用されるよう制限することができます。
<cross-domain-policy> <site-control permitted-cross-domain-policies="by-content-type"/> </cross-domain-policy>
メタポリシーについては以前の記事 (メタポリシーを使った Flash Player セキュリティ管理) もご覧ください。
2. ソケット接続のタイムアウト
Socket および XMLSocket のオブジェクトに対して securityError イベントが connect() を呼んでから一定時間経過後にディスパッチされるようになります。この仕様変更により、直後にイベントが発生していたケースでも一定時間待つことになりますし、ネットワーク遅延等により接続に時間がかかった結果として securityError がディスパッチされるというケースも発生します。
待ち時間は timeout という属性に設定します。デフォルト値は 20,000 (20 秒) です。
AIR アプリケーションに関しては、Flash Player 10 の機能が統合されてもこの変更の影響は受けない予定のようです。
3. ファイルアップロード/ダウンロードの呼び出し制限
FileReference.browse() と FileReference.download() の呼び出しが、ユーザ操作により発生したイベント内に制限されるようになります。Flsh Player 10 以降、これらのメソッドを使用するには、マウスのクリックやキーの押下等によるイベントから呼び出すよう記述する必要があります。
この件も AIR アプリケーションは影響を受けない予定です。
4. フルスクリーンモードでのキーボードの使用
この点に関してはセキュリティが少し緩和されます。Flash Player 10 からは、フルスクリーンモードで、タブ・スペース・上下左右の矢印が利用できるようになります。
AIR では stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE と設定することでこの機能が使えます。
「Flash Player 10ベータでのセキュリティに関する変更について」
http://www.adobe.com/jp/devnet/flashplayer/articles/fplayer10_security_changes.html
が Adobe サイトに公開されました。