Maison >développement back-end >tutoriel php >PHP implémente la fonction d'empêcher la soumission répétée de formulaires (basée sur la vérification des jetons)

PHP implémente la fonction d'empêcher la soumission répétée de formulaires (basée sur la vérification des jetons)

不言
不言original
2018-06-01 10:35:011671parcourir

Cet article présente principalement la fonction d'empêcher la soumission répétée de formulaires en PHP et analyse les techniques de fonctionnement pertinentes de PHP basées sur la vérification des jetons pour empêcher la soumission répétée de formulaires. C'est très simple et pratique. Les amis dans le besoin peuvent s'y référer. it

L'exemple de cet article décrit comment PHP implémente la fonction permettant d'empêcher la soumission répétée de formulaires. Je le partage avec vous pour votre référence, comme suit :

Il existe de nombreuses façons d'empêcher la soumission répétée de formulaires, c'est pourquoi aujourd'hui je vais vous présenter comment empêcher efficacement la soumission répétée de formulaires en PHP.

Le code est très simple

Je pense que vous êtes très intelligent de partager une petite démo avec vous, vous pouvez en tirer des leçons :

Code spécifique :

<?php
/*
* 2016年9月29日08:09:13
*/
session_start();
header("Content-Type: text/html;charset=utf-8");
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;web&#39;])){
  if(!valid_token()){
    echo "token error,请不要重复提交!";
  }else{
    echo &#39;成功提交,Value:&#39;.$_POST[&#39;web&#39;];
  }
}else{
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>PHP防止重复提交表单</title>
<meta name="keywords" content="PHP" />
<meta name="description" content="PHP防止重复提交表单" />
</head>
<body>
<p id="main">
  <p class="demo">
    <form method="post" action="">
      <input type="hidden" name="token" value="<?php echo $_SESSION[&#39;token&#39;]?>">
      <input type="text" class="input" name="web" value="脚本之家">
      <input type="submit" class="btn" value="提交" />
    </form>
  </p>
</p>
</body>
</html>
<?php }?>

Ce qui précède représente l'intégralité du contenu de cet article , merci d'avoir lu . Veuillez prêter attention au site Web PHP chinois pour plus d'informations !

Recommandations associées :

PHP implémente la fonction de téléchargement de fichiers via CURL

tp framework (thinkPHP) implémente le verrouillage de compte après trois erreurs incorrectes mots de passe de connexion Fonction

PHP implémente la fonction de génération de dictionnaire de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn