概要
SecurityComponentのCSRF対策の機能を使って、Formからの二重送信を防止することができます。
1.xのときに使ってみたことがありましたが、SecurityComponentは思ったように動いてくれなかったイメージがありました。
2.0でとりあえずもう一度使ってみようと思い、動かしてみたらいい感じでした。
環境
- CakePHP2.0
- Windows
- XAMPP
参考
SecurityComponentで二重送信防止
- Controllerにコンポーネントを追加
- black_holeでの処理
※必ずFormHelperを使ってformを作成してください。
基本的にはSecurityComponentを$componentsに設定するだけでOKです。
$this->Security->blackHoleCallback
を設定しておくと、blackhole行きになった時のメソッドを追加することができます。
これだけで、フォームには自動的にTokenが埋め込まれます。
テストコメントがあったので。。。
コメントはスパムチェックのため承認制にしているので、コメントはこちらで承認するまで反映されないようになっています。
コメント後に承認されるまで少々お待ち下さい。