php はユーザーがフォームを繰り返し送信できないようにします。php はフォームの送信を妨げます_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:05:59
オリジナル
736 人が閲覧しました

php はユーザーがフォームを繰り返し送信することを防ぎ、php はフォームの送信を妨げます

フォームを送信するとき、無視できない制限の 1 つは、ユーザーが送信ボタンをクリックする可能性があるため、ユーザーがフォームを繰り返し送信できないようにすることです。継続的にデータを送信したり、攻撃者が悪意を持ってデータを送信したりすると、データを送信した後の処理(データベースへのデータの変更や追加など)で問題が発生します。

レンダリング:

それでは、フォームが繰り返し送信される現象を回避するにはどうすればよいでしょうか?さまざまな側面から始めることができます:

まず、フロントエンドから制限を作成します。ボタンが 1 回クリックされると、フロントエンド JavaScript が無効になります。この方法は単に送信ボタンの複数回のクリックを防止するだけですが、ユーザーが JavaScript スクリプトを無効にすると機能しないという欠点があります。

2 番目に、送信後に ページのリダイレクト を実行できます。つまり、送信後に新しいページにジャンプします。これにより、主に F5 キーによる送信が回避されますが、欠点もあります。

第三に、データベースは一意のインデックス制約です

4 番目は、セッション トークンの検証を行うことです。
次に、セッション トークンを使用してフォームの繰り返し送信を防ぐ方法を学びましょう。
フォームに入力非表示フィールド (type="hidden") を追加します。このフィールドの値は、ページが更新されたときにトークン値が変更されるかどうかを判断します。値が正しい場合、フロントデスクによって送信されたトークンが背景と一致しない場合、それは重複送信とみなされます。

リーリー

上記は、フォームの重複送信を防ぐための簡単な例です。

その後、実際のプロジェクト開発では、トークン検証と呼ばれる、フォームトークンのより複雑な処理が実行されます。考えられる処理には次のものが含まれます: ソース ドメイン、ソースが外部送信であるかどうかを確認する、実行するアクションを一致させる、2 番目に重要なことは、 token、平文はまだ安全ではないため、トークンは可能な限り複雑な可逆暗号化アルゴリズムを使用できます。

上記は、ユーザーがフォームを繰り返し送信できない問題を解決する方法です。皆さんの学習に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1067303.html技術記事 PHP は、ユーザーがフォームを繰り返し送信できないようにします。 PHP は、フォームを送信するときに、ユーザーが連続してクリックする可能性があるため、無視できない制限があります。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート