zave Posté 12 Avril 2006 Posté 12 Avril 2006 Bonjour à tous J'ai mis en place sur mon site, un formulaire de contact via la fonction mail(), le script fonctionne très bien là pas de problème, par contre, je commence à recevoir du spam du genre, acheter 10 cartons de viagra. Je pense que ces mails sont l'oeuvre de robots spammeur, je voudrais donc mettre en place un script ou un code apparait sous forme d'image et celui qui veut m'écrire doit mettre le bon code, pour que le mail puisse partir. J'ai cherché un peu, mais vu que déjà je ne connais pas le nom de ce genre de script, je suis mal barré Si vous en connaissez un sympa, facile à mettre en place, je vous en remercie d'avance
AllForEver Posté 12 Avril 2006 Posté 12 Avril 2006 (modifié) Il faut chercher du coté de CAPTCHA - http://fr.wikipedia.org/wiki/Captcha J'ai testé celui-ci, il me semble pas mal : http://viebrock.ca/code/10/turing-protection Modifié 12 Avril 2006 par AllForEver
zave Posté 13 Avril 2006 Auteur Posté 13 Avril 2006 Bonjour à tous Merci pour votre aide à tous les deux Bonjour il y a aussi un petit tutorial ici http://www.webmaster-hub.com/publication/article51.html <{POST_SNAPBACK}> Bon j'ai essayé de mettre en place ce script sur mon formulaire, dans l'ensemble ça fonctionne, mais bon, je pense qu'il y a un problème quand même, tout d'abord, voici le résultat final Le formulaire Les chiffres ne ressemble pas du tout à ceux que j'ai mis dans le répertoire image Lorsque l'on regarde la source de la page, on s'aperçoit que l'on retrouve le code à trouver, dans la balise image. <img src="gencode.php?code=13234"><br /><br /> Pour le problème d'apprence des chiffres qui n'est pas très grave, je pense que le fait que le code apparaisse dans la source l'est plus, je dispose sur mon hébergement de la librairie GD. Voici une partie de la source de formulaire, car j'ai peut être fait une erreur en l'adaptant à ma page, je mettrai que la partie concerné Partie formulaire <label class="label2">Placez le code de l'image ci-dessous<br /><input name="verifCode" type="text" class="input0" id="verifCode" maxlength="5"> <br /></label><input type="hidden" name="verifCode2" value=<? echo $code; ?>><br /><img src="gencode.php?code=<? echo $code; ?>"><br /><br /><input type="submit" class="bouton" value="Envoyer" tabindex="60" /><input type="reset" class="bouton" value="Effacer" tabindex="70" /> </form></div></div><?phpif(isset($_POST['pseudo'])&& $_POST['comment']){$verifcode2=$_POST['verifCode2'];$verifcode = $_POST['verifCode'];if($verifcode==$verifcode2){$pseudo=$_POST['pseudo']; partie gencode.php <?phpheader ("Content-type: image/jpeg");// Ici on choisit la hauteur par ex 80*20$im = imagecreate (80,20) or die ("Problème de création GD");// Choix des couleurs ici ça donne du Gris$background_color = imagecolorallocate ($im, 238, 238, 238);// Choix de la couleur de la police, ici Noir$ecriture_color = imagecolorallocate ($im, 0, 0, 0);//on récupère le texte généré du formulaireimagestring ($im, 10, 18, 6, $_GET['code'] , $ecriture_color);imagejpeg($im);?> Merci d'avance pour vos lumière
captain_torche Posté 13 Avril 2006 Posté 13 Avril 2006 Tiens, d'ailleurs, je me demandais (pardon pour la digression) : Plutôt que de mettre image.php?code=code (ce qui laisse le code en clair dans le source), ne vaut-il pas mieux générer l'image, hasher le code, et ne retourner que la valeur hashée ? Ou bien, le fait de regarder dans le source et trouver l'équivalent textuel du code, consiste-t'il en lui-même un test de turing suffisant ?
AllForEver Posté 13 Avril 2006 Posté 13 Avril 2006 (modifié) Le script que j'ai proposé (http://viebrock.ca/code/10/turing-protection) n'a pas ce problème, le code aléatoire est stocké dans la session. Modifié 13 Avril 2006 par AllForEver
captain_torche Posté 13 Avril 2006 Posté 13 Avril 2006 Sauf que je demandais s'il s'agissait réellement d'un problème, ou si le fait de pouvoir isoler la variable dans l'url de l'image, était en soi un test de turing suffisant.
zave Posté 13 Avril 2006 Auteur Posté 13 Avril 2006 Tiens, d'ailleurs, je me demandais (pardon pour la digression) :Plutôt que de mettre image.php?code=code (ce qui laisse le code en clair dans le source), ne vaut-il pas mieux générer l'image, hasher le code, et ne retourner que la valeur hashée ? Ou bien, le fait de regarder dans le source et trouver l'équivalent textuel du code, consiste-t'il en lui-même un test de turing suffisant ? <{POST_SNAPBACK}> L'idée est intéréssante, faudrait eventuellement qui j'y réfléchisse, je pense que ça ne serait pas trop dur à implémenter Le script que j'ai proposé (http://viebrock.ca/code/10/turing-protection) n'a pas ce problème, le code aléatoire est stocké dans la session. C'est vrai que ce script est vraiment très bien, mais j'ai pas envie de mettre en route une session juste pour ce formulaire, en tout cas je le garde sous le coude pour bien l'étudier Sinon je que je pourrais faire aussi vu que c'est pour un simple formulaire, c'est mettre une image avec un code que les visiteurs devront écrire à chaque fois, vu que c'est juste pour éviter le spam ça peut être un moyen simpliste d'y arriver Mais bon il faudrait vu que le script est en place que je réfléchisse comment l'améliorer, ça me donnera l'occasion de bosser la librairie GD que je ne connais absolument pas Je vais déjà voir si le spam s'arrête malgré le fait que code transite par l'image
captain_torche Posté 13 Avril 2006 Posté 13 Avril 2006 Je vais faire un blog d'ici quelques semaines, donc je vais créer un captcha. Je pensais, dans le fichier image.php, appeler directement depuis PHP le code aléatoire, générer l'image, et hasher le code (que je renverrai sous forme hashée, dans un champ hidden, dans le formulaire de commentaire). Comme ça, pas de session, et pas de code en clair.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant