2012年5月17日木曜日

CakePHP 2.xのSecurityコンポーネントを使う際の注意点

CakePHP2.xで、Securityコンポーネントを使用する際は、Viewのフォームは全てFormヘルパーを使って記述する必要がある。


Secutiryコンポーネントをオンにすると以下の動作を行うようになる。


  • Formヘルパーによって動的に生成されたTokenがhidden要素としてフォームに自動追加される。
  • POSTされたフォームのTokenを確認して、問題があるとThe request has been black-holedとして処理され、$this->request->dataは空になる。



上記の動作を無効にするには、コントローラのbeforeFilter()に

$this->Security->validatePost = false;

を追加する。

0 件のコメント:

コメントを投稿