Aller au contenu

Sujets conseillés

Posté

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é :D

Si vous en connaissez un sympa, facile à mettre en place, je vous en remercie d'avance :D

Posté

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>
<?php
if(isset($_POST['pseudo'])&& $_POST['comment']){
$verifcode2=$_POST['verifCode2'];
$verifcode = $_POST['verifCode'];
if($verifcode==$verifcode2){
$pseudo=$_POST['pseudo'];

partie gencode.php

<?php
header ("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 formulaire
imagestring ($im, 10, 18, 6, $_GET['code'] , $ecriture_color);
imagejpeg($im);
?>

Merci d'avance pour vos lumière :D

Posté

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é

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.

Posté
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

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...