セッションにトークンを残す方法 Edit

投稿時、CSRF対策のため送信2回。
1回目は投稿内容と日時とIPアドレスから作ったトークン取得。または投稿内容から作ったトークンとセッションID取得。
セッション領域に投稿内容を残しておけば、2回目はトークンの送信だけでいい。投稿内容が残ったままになる可能性があるので、適宜削除。

トークンを記録しない方法 Edit

投稿時、CSRF対策のために送信2回。
1回目も2回目も同じ内容のリクエスト。ただ2回目にはリクエストだけから何度でも作れる作成方法門外不出のトークンを追加。投稿前に記録しないので、何かが残ったままになることもない。
あとはトークンを1回使い捨てにする。投稿時には記録をするので使われたか判定するのは容易。2回目以降を使用不可能にする。
:i/CSRFトークンの作り方

二重投稿対策は何回でも投稿可能にして解決 Edit

何回投稿しても、同じトークンが付いていれば同じレスポンスになるように。トークンが同じならサーバー側に変化なし。