FuelPHP 1.7.1がリリースされました

バグ修正のFuelPHP 1.7.1が12/1にリリースされました。

セキュリティ修正を含むため、すべてのFuelPHPユーザは1.7.1へすみやかにアップグレードすることが推奨されます。アップグレードの前にChangeLogをよく確認しておきましょう。

なお、FuelPHP 1.x系は新機能の開発が終了しており、バグ修正のPull Requestのみが受け付けられます。ただし、新機能と呼べなくもない軽微な改良はマージされていますので、バグ修正以外の一切のPull Requestが受け付けられないわけではないようです。

1.7.1のバグ修正は1.8/developブランチに送信してください。1.8/developブランチは、1.x系の保守のために作成されたブランチです。

主な変更点

セキュリティ関連の修正は、http://fuelphp.com/security-advisoriesにある

  • SEC-CORE-003: $_GET not cleaned when parsed from REQUEST_URI

です。これは、$_GETが入力フィルタで処理されない場合があるものの修正です。

ただし、これ以外にも、Restコントローラでhtml形式での出力を許可している場合(デフォルトで許可されている)、XSSの可能性があったため、その部分の仕様が改良されています。従来は、Responseで配列を返す場合、var_dump()された結果が表示されていましたが、1.7.1からは本番環境では406を返すように、その他の環境では(デバッグのために)JSON形式で表示されるように変更されました。

目についた変更点を以下にピックアップしました。詳細は、ChangeLog v1.7.1を参照してください。

  • Sanitizationインターフェイスが導入されました。これは、ビューに渡すオブジェクトが自分自身でいわゆるサニタイズ処理をするためのインターフェイスです。ORMとModel_Crudで使われています。
  • Format::from_xml()はXML名前空間をサポートしました。
  • Format::to_json()は、JSONエンコーディングのオプション指定がデフォルトで安全なものに変更されています。設定でオプションを変更することも可能なはずでしたが、バグのため1.7.1では変更できません。1.8/developでは修正されています。
  • Input::uri()は、先頭にスラッシュを付けたURIを絶えず返すようになりました。
  • Inputクラスで、フォームのURLエンコードのダブルエンコーディングをコントロールできるようになりました。

『はじめてのフレームワークとしてのFuelPHP』

FuelPHP 1.7.1対応の追加情報が出ています。詳細は、以下のサポートサイトの「追加情報」を参照願います。

バグ情報

バグに関する情報は、以下を参照願います。

関連

Date: 2013/12/03

Tags: fuelphp, release