- PR -

トークンの不正アクセス後の処理

1
投稿者投稿内容
ジン
ベテラン
会議室デビュー日: 2007/07/27
投稿数: 52
投稿日時: 2008-05-15 17:48
現在Strutsのプロジェクトを行っております。
ブラウザの更新ボタンなどで起こる二重処理を防ぐためトークンを使用しております。
二重処理の判断は行えていますが、二重処理の場合どう処理を行うべきなのかがわかりません。
エラーページに遷移するものなのでしょうか?
できれば1回目の正常処理実行後の画面になにも処理を行わず戻るのが理想ですが可能なのでしょうか?
どのようにされているか参考にさせて下さい、お願いいたします。

[ メッセージ編集済み 編集者: ジン 編集日時 2008-05-15 17:49 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-05-15 23:53
自分の場合はトークンが不正でも処理完了画面へ遷移するようにします。
完了画面への遷移はリダイレクトで行うようにしていますね。

完了画面で何かの処理結果が必要な場合はURLパラメータを追加しますが、
処理のタイミング上処理結果が取得できない場合もあります。
その場合は「2重送信されたため、正しく処理結果が取得できませんでした。」
というようなメッセージを出すようにする事が多いです。

基本的には、そういうことが起こりにくいように、
PRGパターンとJavaScriptによる2度押し防止を組み込みますね。

ちなみにクラスタ環境(ラウンドロビン)になると、
Strutsのトークンは役に立たないので、
あまり過度な期待をしないというか、
トークンがなくても動く仕組みを用意する方が、無難かと思います。
1

スキルアップ/キャリアアップ(JOB@IT)