ホームページ  >  記事  >  バックエンド開発  >  PHP でトークンを使用してフォームの繰り返し送信を防ぐ方法

PHP でトークンを使用してフォームの繰り返し送信を防ぐ方法

墨辰丷
墨辰丷オリジナル
2018-06-04 10:07:391521ブラウズ

この記事では、PHPでトークンを利用して、暗号化された乱数を生成してセッションのトークン変数に格納し、同時にその値をフォームに入れて送信を非表示にする方法を主に紹介します。 、フォームの重複送信を防ぐ機能が実現されます。必要な友達はそれを参照できます

<?php
/*
* PHP使用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
session_start();
function set_token() {
  $_SESSION[&#39;token&#39;] = md5(microtime(true));
}
function valid_token() {
  $return = $_REQUEST[&#39;token&#39;] === $_SESSION[&#39;token&#39;] ? true : false;
  set_token();
  return $return;
}
//如果token为空则生成一个token
if(!isset($_SESSION[&#39;token&#39;]) || $_SESSION[&#39;token&#39;]==&#39;&#39;) {
  set_token();
}
if(isset($_POST[&#39;test&#39;])){
  if(!valid_token()){
    echo "token error";
  }else{
    echo &#39;成功提交,Value:&#39;.$_POST[&#39;test&#39;];
  }
}
?>
<form method="post" action="">
  <input type="hidden" name="token" value="<?php echo $_SESSION[&#39;token&#39;]?>">
  <input type="text" name="test" value="Default">
  <input type="submit" value="提交" />
</form>

要約:上記がこの記事の全内容です、皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHPファイルダウンロード関数の例の詳細な説明

PHPはヘッダーメソッドを使用してファイルダウンロード関数を実装します

PHPメソッドはQRCODEに基づいてカラーQRコードを生成します

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。