Comment empêcher le formulaire d'être soumis à plusieurs reprises en php

(*-*)浩
Libérer: 2023-02-25 09:56:02
original
2998 Les gens l'ont consulté

Comment PHP empêche-t-il que le formulaire soit soumis à plusieurs reprises ? Du débutant à compétent)

L'utilisateur soumet le formulaire au backend et le marque dans le cookie Soumissions répétées dans les limites spécifiées. le temps sera invalide. Mais cette méthode échouera si l'utilisateur désactive les cookies. Comment empêcher le formulaire d'être soumis à plusieurs reprises en php

<?php
  
if (isset($_COOKIE[&#39;formFlag&#39;])) {
  exit(&#39;error&#39;);
}
  
// 处理数据
  
// 30秒内重复提交无效
setcookie(&#39;formFlag&#39;, time(), time() + 30);
Copier après la connexion

SessionLors de l'affichage de la page du formulaire, un nombre aléatoire est généré et stocké dans la Session et dans le champ caché du formulaire. Lors de la première soumission, comparez et supprimez avec succès la valeur dans la session.

L'utilisation de la fonction Session de PHP peut également éviter la soumission répétée de formulaires. La session est enregistrée côté serveur. La variable Session peut être modifiée pendant l'exécution de PHP. La prochaine fois que vous accéderez à cette variable, vous obtiendrez la valeur nouvellement attribuée. Par conséquent, vous pouvez utiliser une variable Session pour enregistrer la valeur soumise par le. S'il ne correspond pas, il est considéré que c'est l'utilisateur qui soumet à plusieurs reprises.

<?php
  
if (!isset($_SESSION[&#39;formFlag&#39;]) || $_POST[&#39;formFlag&#39;] != $_SESSION[&#39;formFlag&#39;]) {
  exit(&#39;error&#39;);
}
  
// 处理数据
  
unset($_SESSION[&#39;formFlag&#39;]);
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal