元記事はこちら。
May 07, 2015
CakePHPコアチームは、CakePHP 3.0.4 が入手可能になったことをお知らせいたします。これはセキュリティフィックスやバグフィックスを含んでいます。
セキュリティフィックス
CakePHP アプリケーションに影響のある2つのセキュリティ関連の問題があります:
- CsrfComponent で、CSRFトークンとCSRFポストデータの両方が無いリクエストの無効化に失敗する
- リクエストデータのマーシャリング時、カラのエンティティがバリデーションを通り抜けることができてしまう。RulesChecker バリデーションでは、このカラのエンティティは通り抜けることができない。
security issueからこの件の報告をくださった ‘Hayato Araki’ さんに感謝します。全てのCakePHPユーザーにできるだけ早く3.0.4へ移行することをおすすめします。
バグフィックス
セキュリティ関連の問題に加え、以下の問題が修正されました:
- アソシエーションのカスケーディングを利用した削除時に、カスタムエイリアスがあっても失敗しなくなった
- XmlView は _xmlOptions をサポートするようになった。JsonViewの振る舞いとマッチする
- EntityTrait::extractOriginal() が extract() と一貫して動作するようになった。どちらのメソッドも変更のないプロパティだけでなくすべての名前付きプロパティを含んでいる。変更した属性のオリジナル値だけを抽出するために、新しい methodextractOriginalChanged() を使用できる
- IntegrationTestCase で、クエリ文字列パラメータが正しくサポートされるようになった
- Collection::isEmpty() と Cake\ORM\Query::isEmpty() の追加
- action属性のないフォームを作成できるようになった
- エンティティデータへのアクセスの効率が改善された。エンティティはカスタムアクセサの結果をキャッシュし、プロパティが変更または削除された際に無効にされる
CakeFest 2015 のチケット
CakeFest 2015のチケットをお求めでないなら、まだ間に合います。5/28にはCakePHPは10週年を迎えます。
いつもながら、問題をレポートしたりプルリクエストを送ったりしてこのリリースに関わってくださった皆さんに感謝します。
githubよりパッケージリリースのダウンロード