2011-12-13 7 views
0

データが正常に挿入された後、PHPデータ入力ページがあり、新しいページにリダイレクトされています。しかし、ユーザーはブラウザの戻るボタンを使用して戻ることができ、再度「保存」ボタンをクリックすることができます。このような問題を防ぐ方法はありますか?提案してください。ありがとうございました。Webページをリダイレクトしてブラウザのボタンで発行

私はリダイレクトするために次のコードを使用しています。

header ("location:Redirect.php?ref=10"); 
+0

すでに送信されているかどうかを確認するために送信されたデータを一意に識別する方法がありますか?あなたがバックボタンをハイジャックするために何らかのハックをかけても(しないでください)、ユーザーは事故や悪意のあるデザインによってフォームを複数回送信することを止めることができません。 – David

+0

ページを更新してデータを再送信するだけで何が止められるのですか? 投稿を許可し、再送信を停止して表示するには、一意の「キー」でCookieまたはセッション変数を追跡します。 – MetalFrog

答えて

1

はい、あなたは彼らは、ボタンをクリックする/表示し、そのセッション変数をチェックすることによって、それに応じてボタンを非表示にするには、これを使用するたびに、そのセッションで変数を格納することができます。また設定されている場合は、フォームの転記/処理を許可しないでください。

+0

ブラウザがボタンを表示してキャッシュからページをレンダリングするとどうなりますか?ユーザーがボタンをダブルクリックして2回投稿するとどうなりますか?ユーザーがデバッグツールを使用してPOSTをキャプチャし、それを繰り返しループに繰り返し再送信するとどうなりますか? – David

+0

次に、投稿データを処理する前にセッション変数を確認します。 –

+0

ああ、あなたが今言っていることが分かります。フォーム表示の観点からではなく、フォーム処理の観点からは許可しない。意味をなさない – David

関連する問題