久々に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…」を選択します。
以下のような画面が表示されますので、左ペインより、「インストールされている Flex SDK」を選択します。
インストール済のSDKの一覧が表示されます。「追加」ボタンをクリックすると、「Flex SDK を追加」画面が表示されます。
「Flex SDK の場所」に<sdkインストールルート>を設定すると、「Flex SDK 名」は自動的にセットされるので、そのまま使いました。「OK」ボタンをクリックすると追加したSDKが一覧に表示されるようになります。
追加した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エンコードがされてなかったといった、非常に単純な内容ですが、重要な更新となっています。