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.
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处理数据 // 30秒内重复提交无效 setcookie('formFlag', time(), time() + 30);
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['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) { exit('error'); } // 处理数据 unset($_SESSION['formFlag']);
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!