Anti bot via une question
6 messages
• Page 1 sur 1
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Anti bot via une question
Bonjour,
J'ai sur une page de formulaire d'inscription plusieurs données sont à renseigner(email, nom, url, ect).
Lorsque la personne a fini de remplir le formulaire elle clique sur le bonton "envoyer", les infos sont vérifiées (je ne sais pas comment car je suis une bille en script) puis si elles sont OK le formulaire m'est envoyé.
Certains robots passent au travers du captcha présent alors je voudrai ajouter une question qui serait vérifiée au même moment que le reste des champs remplis.
Je ne souhaite pas de question où un chiffre est demandé, je pense que les robots les essayent tous. Je voudrai une question plus précise comme par exemple:
Quel animal miaule ?
Sur le fichier.php ça donne ça :
C'est le scrip de vérification que je ne sais pas faire.
Ce site dispose d'un fichier functions.php et je peux donner ici tout le script du fichier submit.php si besoin est.
Merci
J'ai sur une page de formulaire d'inscription plusieurs données sont à renseigner(email, nom, url, ect).
Lorsque la personne a fini de remplir le formulaire elle clique sur le bonton "envoyer", les infos sont vérifiées (je ne sais pas comment car je suis une bille en script) puis si elles sont OK le formulaire m'est envoyé.
Certains robots passent au travers du captcha présent alors je voudrai ajouter une question qui serait vérifiée au même moment que le reste des champs remplis.
Je ne souhaite pas de question où un chiffre est demandé, je pense que les robots les essayent tous. Je voudrai une question plus précise comme par exemple:
Quel animal miaule ?
Sur le fichier.php ça donne ça :
- Code: Tout sélectionner
<tr>
<td class="text_before_field_add_annuaire" nowrap>Quel animal miaule ? : le <input type="text" name="question" maxlength=5 size=5><span class="n"> miaule.</span>
</td>
</tr>
C'est le scrip de vérification que je ne sais pas faire.
Ce site dispose d'un fichier functions.php et je peux donner ici tout le script du fichier submit.php si besoin est.
Merci
-

Zecat - WRInaute accro

- Messages: 11990
- Inscription: 1 Mar 2005
Re: Anti bot via une question
le principe :
ton submit lance poster_le_form.php
la tu fait par exemple un include de poster_le-form_verif.php : il verifie le contenu des champs reçus et si erreur tu positionnes une var $error=1 et $errorlib="Mauvais reponse, recommencez"
Puis dans poster_le_form tu poursuis :
- si error, tu l'affiches et via header tu renvoies le mec au form (pense a sauver le contenu des champs qu'il ai pas tout a resaisir)
- si pas error, tu poursuis en stockant les infos saisies
voila un principe ...
ton submit lance poster_le_form.php
la tu fait par exemple un include de poster_le-form_verif.php : il verifie le contenu des champs reçus et si erreur tu positionnes une var $error=1 et $errorlib="Mauvais reponse, recommencez"
Puis dans poster_le_form tu poursuis :
- si error, tu l'affiches et via header tu renvoies le mec au form (pense a sauver le contenu des champs qu'il ai pas tout a resaisir)
- si pas error, tu poursuis en stockant les infos saisies
voila un principe ...
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Anti bot via une question
ton submit lance poster_le_form.php
la tu fait par exemple un include de poster_le-form_verif.php : il verifie le contenu des champs reçus et si erreur tu positionnes une var $error=1 et $errorlib="Mauvais reponse, recommencez"
Puis dans poster_le_form tu poursuis :
- si error, tu l'affiches et via header tu renvoies le mec au form (pense a sauver le contenu des champs qu'il ai pas tout a resaisir)
- si pas error, tu poursuis en stockant les infos saisies
Pour toi ça doit être un jeu d'enfant mais pour c'est de l'hebreu.
J'aurai préféré un script complet car je suis nul en codage. Je ne sais même pas par où commencer.
J'ai pas fait <?php ?> en deuxième langue mais maintenant je le regrette.
je crois que j'ai trouvé la réponse : un chat ?
Bien Booble, je te déclare officielement comme étant un humain.
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Anti bot via une question
Alors voilà ce que j'ai fait :
Et dans le texte :
Si le champs n'est pas rempli, le formulaire affiche une erreur. En ravanche si je lui dit que c'est un chien qui miaule le formulaire est entièrement d'accord.
C'est normal, je n'ai pas précisé que la bonne réponse est "chat" mais comment on fait pour obliger cette réponse ?
- Code: Tout sélectionner
$action = isset($_POST['action']) ? $_POST['action'] : '';
if ($action == "submit")
$question = isset($_POST['question']) ? strip_tags ($_POST['question']) : '';
est_vide($question,"Vous n'avez pas rempli le nom de l'animal qui miaule",true);
Et dans le texte :
- Code: Tout sélectionner
<td align=center valign=bottom class="text_before_field_add_annuaire" nowrap>
<br><br>
Au fait, quel est l'animal qui miaule ? : le <input type="text" name="question" maxlength=5 size=5><span class="n"> miaule.</span>
</td>
Si le champs n'est pas rempli, le formulaire affiche une erreur. En ravanche si je lui dit que c'est un chien qui miaule le formulaire est entièrement d'accord.
C'est normal, je n'ai pas précisé que la bonne réponse est "chat" mais comment on fait pour obliger cette réponse ?
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Anti bot via une question
J'ai essayé ça pour vérifier :
Ca doit être bourré d'erreur, je n'y connais rien je fais par déduction, c'est pour cela que je demande votre aide d'ailleurs.
- Code: Tout sélectionner
function est_faux ($question,$inc = false)
//verifie la réponse à la question + non vide
{
global $PMA_infos;
$message = "";
if (empty($question) || $question == "chat")
$message .= "Votre réponse au nom de l'animal qui miaule ne peut être vide !";
else //on doit verifier la réponse
{
//on verifie si la réponse est bonne
if($_POST["question"] = "chat");
$message .= "Le nom de l'animal qui miaule est faux !";
}
//si on a un message d'erreur il faut quitter
if ($message)
{
$message .= "<br><br>\n";
$message .= "<a href=\"javascript:history.go(-1);\">Retour au formulaire</a>\n";
echo "<CENTER>$message</CENTER>";
if ($inc)
include("after.php");
exit;
}
else
{ return true; } //on rend vrai car si c'est pas bon on a quitte avant
}
Ca doit être bourré d'erreur, je n'y connais rien je fais par déduction, c'est pour cela que je demande votre aide d'ailleurs.
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Etude de Googlebot, le robot crawler de Google (Fresh Bot, Deep Bot) - 05-09-2008
- La valse des rachats de sociétés par Google en mai/juin 2007 - 06-06-2007
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
- Mise à jour de Google Images (Juillet 2006) - 10-07-2006
- Mise à jour de Google Images (16/04/2006) - 18-04-2006
- Google crawle les fichiers CSS - 25-06-2006
- Archive.org n'indexe plus rien depuis le 22 août 2008 ? - 19-11-2009
- Google Instant Preview : correction du bug Google Analytics - 01-12-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

