Prévenir les soumissions de formulaires multiples en PHP : un guide complet
Les soumissions de formulaires multiples peuvent constituer un problème dans les applications Web, entraînant des conséquences inattendues. Cet article fournira une solution détaillée pour empêcher les soumissions multiples en PHP.
Solution utilisant des jetons
PHP offre une solution robuste utilisant des jetons uniques qui peuvent être générés et stockés dans session. Voici comment l'implémenter :
Code Exemple :
<?php session_start(); function getToken(){ $token = sha1(mt_rand()); $_SESSION['tokens'][$token] = 1; return $token; } function isTokenValid($token){ if(!empty($_SESSION['tokens'][$token])){ unset($_SESSION['tokens'][$token]); return true; } return false; } $postedToken = filter_input(INPUT_POST, 'token'); if(!empty($postedToken) && isTokenValid($postedToken)){ // Process Form } $token = getToken(); ?> <form method="post"> <input type="hidden" name="token" value="<?php echo $token; ?>"/> <!-- Form Content --> </form>
Redirections et compatibilité ascendante
Pour maintenir une navigation vers l'avant et l'arrière appropriée, il est recommandé d'implémenter un modèle POST/redirection/GET. Cela implique :
En suivant Ces étapes, vous pouvez efficacement empêcher l'envoi de plusieurs formulaires et garantir l'intégrité de votre application Web.
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!