Securiser un formulaire avec une equation
aboura
-
aboura -
aboura -
s'il vous plait j'ai un formulaire php que je veux sécurisée parce que ce formulaire ajoute dans ma base de donnèes les informations donnèes par l'utilisateur
je veux donc le sécurisé contre les spam et pour le faire je veux ajouter un champs qui permet de donner des équations de mathematique simple et un champs qui permet à l'utilisateur d'introduire le resultat si le resultat est valide ça marche et les donnèes sont enregistrèes si non le formulaire n'est pas validé
mais le problème que je ne sais pas comment le faire
donc merci de m'aider
je veux donc le sécurisé contre les spam et pour le faire je veux ajouter un champs qui permet de donner des équations de mathematique simple et un champs qui permet à l'utilisateur d'introduire le resultat si le resultat est valide ça marche et les donnèes sont enregistrèes si non le formulaire n'est pas validé
mais le problème que je ne sais pas comment le faire
donc merci de m'aider
Configuration: Windows XP Internet Explorer 6.0
1 réponse
-
Bonjour.
Un petit exemple vite fait :<?php // On crée un tableau qui contient les fonctions à utiliser et l'affichage correspondant $operation = array('plus'=>'add','moins'=>'minus','fois'=>'mult'); // On crée un tableau qui contient les chiffres de 0 à 9 $c = array(); for ($i =0; $i < 10; $i++) { $c[] = $i; } // On déclare les différentes fonctions à utiliser function add($a,$b) { return $a+$b; } function minus($a, $b) { $a -= $b; return $a; } function mult($a, $b) { $a *= $b; return $a; } // captcha() => Création du Captcha function captcha() { global $operation; global $c; // On récupère des éléments aléatoires des différents tableaux $resultat = array_rand($c); // Un chiffre $resultat .= " ".array_rand($operation); // Une opération $resultat .= " ".array_rand($c); // Un chiffre return $formule; } // Fonction qui calcule le résultat attendu function ResoudreCaptcha($formule) { global $operation; // On récupère la formule dans un tableau $test = explode(' ',$formule); // On effectue l'opération sur les deux chiffres return $operation[$test[1]]($test[0], $test[2]); } // Si le formulaire a été envoyé if (isset($_POST['captcha'])) { // ... On récupère le résultat attendu $attente = ResoudreCaptcha($_POST['formule']); echo '<h4>La formule demandée était :</h4>'; echo $_POST['formule'].'<br />'; echo 'Le résultat attendu est : '.$attente.'<br />'; echo 'Vous avez saisi '.$_POST['captcha'].'<br />'; // On compare le résultat envoyé au résultat attendu if ($attente == $_POST['captcha']){ echo 'OK'; } else { echo 'KO'; } } ?> <html> <body> <form id="formulaire" action="The%20name%20of%20the%20site%20-%20Lui.php" method="post"> <input type="hidden" id="formule" name="formule" value="<?php $captcha = captcha(); echo $captcha.'" />'.$captcha.' = ?<br />'; ?> <input type="texte" id='captcha'name='captcha' value="" /> <input type="submit" name="Enregistrer" value="Enregistrer" /> </form> </body></html>