セキュリティ
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属性で設定します。