タグ別アーカイブ: COOKIE

CodeIgniter 2.0に追加されたCSRF保護オプションの挙動

さて、今週土曜日はCodeIgniterカンファレンスですね。
カンファレンスに向けて、サンプル用のアプリを作ったり資料を書いたりとバタバタしています。

アプリを作る中で、2.0から搭載されたCSRF保護オプションの挙動について調べたので忘れないうちにメモです。

これまでのCSRF対策

CodeIgniter1.7系までは、以下のようにワンタイムチケットを生成してCERF対策を行っていました。

  1. controllerでワンタイムチケットを生成
  2. sessionクラスを使って、ワンタイムチケットをsessionに保存
  3. viewの中でformのhiddenフィールドにワンタイムチケットをセット
  4. ユーザーによるform処理
  5. $_POSTで送られてきたワンタイムチケットとsessionに保存してあるワンタイムチケットを照合
  6. TRUEであれば処理継続、FALSEであれば処理中止

この方法だと、controllerの中で、照合を書かなければいけませんでした。

続きを読む