SecurityComponentはセキュリティの機能を提供します。アクションに対してPOST、Basic認証、SSL接続、トークンを要求する事が出来ます。


SecurityComponentを使用するには、コントローラの$components属性に‘Auth’を設定します。コントローラの中から$this->Securityで参照できるようになります。

class UsersController extends AppController {
     var $components = array("Security");
}

エラー処理

SecurityComponentはセキュリティの問題を発見した場合に通常404エラーのページを返します。独自の処理を行いたい場合は$blackHoleCallback属性にコールバックメソッドを指定します。

トークンでCSRF対策

トークンを使用してサイト外から送られてくるフォームを受け付けないようにする事が出来ます。SecurityComponentの属性かメソッドのどちらかを使用します。formヘルパーを適切に使用している事も必要になります。

  • $requireAuth属性に必要なアクションを配列でセットします。すべてのアクションを指定する場合は'*'だけを含んだ配列をセットします。
  • requireAuth()メソッドで必要なアクションをセットします。必要なアクションの数だけ引数を追加します。すべてのアクションを指定する場合は引数を使用しません。


SecurityComponentはトークンと同時にフォームの改変をチェックしています。フォームのエレメントにformヘルパーで出力しなかったフィールドが存在したりするとエラーになります。チェックしたくないフィールドがある場合は、$disabledFields属性で設定します。

CakePHP Note (v1.3)

Index