• 締切済み

historyを消す

submitで、値を送って次のページで計算させています。 戻るボタンがあれば、何度でも書き換え可能なので、 submit後は、元の画面に戻れなくしたい。 どういう手があるでしょうか。

みんなの回答

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.2

一般に公開されているリロード対策クラスを利用してみるのはどうでしょうか?

参考URL:
http://www.stackasterisk.jp/tech/php/searchAction.do;jsessionid=aWffBu3dbO4a?cid=22
回答No.1

ページの遷移をチェックするのはどうでしょうか。 no-cacheなどのヘッダーを与える手もありますが、 正しく認識しないブラウザもありますので万全ではありません。 ブラウザのキャッシュにも落ちるわけですのでキャッシュを抜かれれば一緒です。 クッキーを使用して処理済みか判断する方法もありますが、クッキーを削除されれば 意味もありません。 IPアドレスで処理済みか判断してもIPアドレスが変わってしまい意味がありません。 というわけで以下の方法はいかがでしょうか。 最初に入力フォームに入る前にログインページなどでformのhidden属性に一度限りのチェック用変数を設定します。 submitし、計算ページに入ったらチェック用変数から値を取り出し評価します。 。評価済みの値のリストと照合し評価済みの値が与えられたらエラーを返す。 チェック用の値の一覧はファイルでもデータベースでも膨らんでいきますので 一定時間経ったら削除を行うか、ユーザー認証を行っているページであれば ID,Passwordと紐付けしてしまう方法もあります(一度処理が行われたら ユーザー情報に処理済みのフラグを立てる。など)

関連するQ&A