CSRF対策について質問させてください。
調べたらいろんな意見があって、結局どう実装したら良いのかわかりません。

入力画面>確認画面>登録画面  という流れの場合、以下の処理で良いんでしょうか?

1)入力画面でトークン(ワンタイムトークンでなくていい?)のセット
2)確認画面は普通に表示。post情報をセッションに入れる。
3)登録画面で
  3-1)一つ前の画面が確認画面であることをチェック(違ったらエラー処理
  3-2)トークンのチェック
     セッション中のクエリデータからトークンを抜いて正規トークン値と照合
     一致しなかったらエラー処理。一致してればquery処理

上記の処理で良いんでしょうか?
送信するデータの目視確認(確認画面を挟む)を必須の上でトークンをチェックしたら万全かな
と思ったんですが、自信がないです。
トークン値をセッションやクッキーに入れる云々の意見がweb上にあって、混乱したというか
必要性やその理由がどうもわかりません

PHP5を使っています、すみませんがよろしくお願いします