2度押し制御について

System.currentTimeMillis() などの情報を元にしてページにhiddenフォームでIDを
埋め込んでしまうのはいかがでしょう?

最後に発行したIDをセッションに記録するなどして、そのセッションに対して直前に
サーブレットが割り当てたIDをもつ処理しか受け付けないようにします。処理後は別
のIDを割り当てて、変更が反映されたページを返すと同時に、セッションに関連づけ
られたIDを更新します。
こうすれば毎回別々のIDを使わなければならないので、リロード処理のように同じID
を送るものを排除できると思うのですが。

商品Aを2個追加→商品Aをさらに2個追加のような処理が無視される恐れも排除し
なければなりませんし。

[Struts] フォームの2度押し防止
http://d.hatena.ne.jp/nadi/20040107#p1

2度押し防止(同期トークン)
http://muimi.com/j/jakarta/struts/struts5.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です