ホームページ > バックエンド開発 > PHPの問題 > PHPでフォームが繰り返し送信されないようにする方法

PHPでフォームが繰り返し送信されないようにする方法

(*-*)浩
リリース: 2023-02-25 09:56:02
オリジナル
3047 人が閲覧しました

フォームが繰り返し送信されるのを防ぐ方法

PHPでフォームが繰り返し送信されないようにする方法

問題を解決するための Cookie メカニズムの導入(推奨学習: PHP プログラミング入門から習熟まで)

ユーザーはフォームをバックエンドに送信し、Cookie にマークを付けます。指定された時間内に繰り返し送信した場合は無効になります。ただし、ユーザーが Cookie を無効にすると、このメソッドは失敗します。

<?php
  
if (isset($_COOKIE[&#39;formFlag&#39;])) {
  exit(&#39;error&#39;);
}
  
// 处理数据
  
// 30秒内重复提交无效
setcookie(&#39;formFlag&#39;, time(), time() + 30);
ログイン後にコピー

セッション

フォーム ページを表示すると、乱数が生成され、セッションとフォームの非表示フィールドに保存されます。初めて送信するときは、セッション内の値を比較し、正常に削除します。

PHP のセッション関数を使用すると、フォームの繰り返しの送信を回避することもできます。セッションはサーバー側に保存されます。セッション変数は、PHP の実行中に変更できます。次回この変数にアクセスすると、新しく割り当てられた値が取得されます。したがって、セッション変数を使用して、PHP によって送信された値を記録できます。フォームに一致しない場合は、繰り返し送信しているユーザーとみなされます。

rree

以上がPHPでフォームが繰り返し送信されないようにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート