株式会社ライブキャストロゴ 株式会社ライブキャスト

久々にFlexネタです。いまさらですが、SDK 3.4がリリースされたのでアップグレードしようと思います。やり方は今までと同じだろうと、過去の記事を探したのですが、書いてなかったのであらためてメモしておきます。

ダウンロード

まずは、SDKのダウンロードです。Download Flex 3 – Flex SDK – Confluenceよりダウンロードします。ダウンロードしたファイルはflex_sdk_3.4.0.9271.zipです(2009/9/23時点)。

ダウンロードしたzipファイルを任意の場所に解凍します
以降、<sdkインストールルート>とします。

Flex Builderの設定

次に、Flex Builderに開発に利用するSDKの設定をします。EclipseプラグインのFlex Builder 3.0を利用していますので、Eclipseメニューから「Preferences…」を選択します。

menu

以下のような画面が表示されますので、左ペインより、「インストールされている Flex SDK」を選択します。

Preferences画面(追加前)

Preferences画面(追加前)

インストール済のSDKの一覧が表示されます。「追加」ボタンをクリックすると、「Flex SDK を追加」画面が表示されます。

add

「Flex SDK の場所」に<sdkインストールルート>を設定すると、「Flex SDK 名」は自動的にセットされるので、そのまま使いました。「OK」ボタンをクリックすると追加したSDKが一覧に表示されるようになります。

Preferences画面(追加後)

Preferences画面(追加後)

追加したSDKにチェックを付け、デフォルトで使用するSDKとして設定すれば完了です。

補足

今回のSDKのバージョンアップには、重要なアップデートが含まれています。

Adobe、『Flex』を更新し XSS 脆弱性に対応 – japan.internet.com Webテクノロジーなどで取り上げられているように、SDKに同梱されている「index.template.html」XSSの脆弱性対応が含まれています。

「index.template.html」はprojectをビルドした時に作成される、swfファイルを呼び出すためのhtml(ラッパーhtml)のテンプレートとなるファイルです。

作業内容は、下記の 2 つのファイルを見つけて、

* %Flex SDK%templatesexpress-installationindex.template.html
* %Flex SDK%templatesexpress-installation-with-historyindex.template.html

以下の作業を行う、というものです。

1. var MMredirectURL = window.location; と書かれた行を探す
2. それを var MMredirectURL = encodeURI(window.location); と書き換える
3. index.template.html ファイルを保管する

Flex SDK 3.4 公開 – akihiro kamijoより引用。

古いバージョンのSDKを利用している場合には、この対応をしないと脆弱性が残ったままになってしまうので要注意です。URLエンコードがされてなかったといった、非常に単純な内容ですが、重要な更新となっています。

SDK 3.3以前のバージョンで作成されたラッパーhtmlを既に公開、ご利用されいてるかたは、脆弱性が残ったままですので、大至急、本対応を実施することをオススメします!