utiliser un champ "Captcha" pour réduire spam

Espace de discussions générales sur l'informatique. Tant au niveau matériel que logiciel.
Post Reply
User avatar
ANTHOS
Membre / Member
Posts: 2804
Joined: 27 Mar 2004 23:06
Location: Barcelona
Contact:

utiliser un champ "Captcha" pour réduire spam

Post by ANTHOS »

Bonjour à tous

J'ai créé un site avec formulaires pour une amie. Elle se plaint - pas sans tort - qu'elle recoit beacuop de messages spams dans sa boite email.

Je pense donc à mettre en oeuvre un 'Captcha'. Je ne nais pas c'est le bon nom - il s'agit du champ dans lequel il faut saisir les caractères visibles dans une image pour pouvoir soumettre quelque chose (comme doivent faire les non-inscrits ou inscrits non-connectés pour poster sur LokaNova). Le principe est que les "robots" restent bloqués parce qu'ils peuvent pas lire comme nous les humains.

Je voudrais d'abord savoir comment s'appelle ce machin.

J'imagine qu'il existe des solutions "clé en main". Vous pouvez m'en conseiller?

Merci de toute information !
User avatar
Latinus
Admin
Posts: 24768
Joined: 18 Mar 2002 01:00
Location: complètement à l'Ouest
Contact:

Re: utiliser un champ "Captcha" pour réduire spam

Post by Latinus »

Salut Anthos,

Captcha est le bon terme.

L'efficacité de ce genre de barrière devient de plus en plus illusoire, les robots sachant en fait presque mieux lire ce brouillage que nous et, si on le rend trop complexe (à yeux d'Humain), ce sont de vrais visiteurs que l'on perd...
Il subsiste en fait un petit rôle de filtrage car tous les robots ne sont pas forcément de type "décrypteur de captcha" et sont alors bloqués.

En tous les cas, ce que je constate avec le forum, c'est qu'à partir du moment où les protections embêtent vraiment trop les robots alors les spammeurs remplissent manuellement les formulaires... La plupart de mes spammeurs (humains) venant à partir de réseaux russes, lituaniens, ukrainiens, ... on peut en arriver à imaginer de grands plateaux (un peu comme des plateaux de hotline) où les employés passent leurs journées à remplir des formulaires :roll:

Une réelle solution réside dans le principe du "zéro mail" ; par exemple le site pourrait, au lieu d'envoyer un mail, stocker les informations entrées par les visiteurs/spammeurs dans une base de données que ton amie consulterait à sa guise.

Pour en revenir à nos moutons, voici un service captcha "clé en main" avec une double utilité : http://recaptcha.net/
Les courses hippiques, lorsqu'elles s'y frottent.
User avatar
Beaumont
Admin
Posts: 7339
Joined: 07 Jun 2002 02:00
Location: Thailande
Contact:

Re: utiliser un champ "Captcha" pour réduire spam

Post by Beaumont »

Ce qu'il faut aussi c'est bien sécuriser le formulaire au niveau du code, et mettre en place des filtres par mots-clés.

D'où vient le code de ton formulaire ?
Time is an illusion. Lunchtime doubly so.
User avatar
ANTHOS
Membre / Member
Posts: 2804
Joined: 27 Mar 2004 23:06
Location: Barcelona
Contact:

Re: utiliser un champ "Captcha" pour réduire spam

Post by ANTHOS »

Merci de partager ton expérience Lat.

Beaumont: j'ai écrit le code à la main (c'est une page PHP - dont je m'en sers pour vérification avancée et retention en mémoire des valeurs)
Fuvola
Membre / Member
Posts: 24
Joined: 27 Aug 2006 13:47
Location: Toulouse

Re: utiliser un champ "Captcha" pour réduire spam

Post by Fuvola »

Bonjour Anthos,
Ce qui marche très bien, c'est de mettre dans le formulaire un champ que l'on masque avec du css: champ invisible pour les humains, mais non pour les robots qui remplissent habituellement tous les champs...
J'ai un site avec un livre d'or: avec ce système, pas un seul spam en trois mois. Voilà.
User avatar
ANTHOS
Membre / Member
Posts: 2804
Joined: 27 Mar 2004 23:06
Location: Barcelona
Contact:

Re: utiliser un champ "Captcha" pour réduire spam

Post by ANTHOS »

Bonjour Fuvola

Pas mal cette astuce - on bloque donc les formulaire pour lesquels ce champ a été renseigné?

C'est faisable avec du PHP ?
Fuvola
Membre / Member
Posts: 24
Joined: 27 Aug 2006 13:47
Location: Toulouse

Re: utiliser un champ "Captcha" pour réduire spam

Post by Fuvola »

Oui, c'est cela!...
C'est faisable avec du php, mais je ne parle pas ce langage...j'ai trouvé un script de livre d'or tout fait, que j'ai modifié en rajoutant un champ nommé "captcha".
Ensuite, dans la feuille de style il y a ceci:

Code: Select all

#captcha {
  display: none;
}
(Précision pour les nuls comme moi: cela veut dire "le champ nommé "captcha" n'est pas affiché")
Et dans la partie php:

Code: Select all

elseif (trim($message)=="" || trim($pseudo)=="" || trim($captcha)!="")
{
        echo "<blockquote>Vous devez remplir tous les champs.</blockquote><a href=\"#\" onclick=\"history.back()\">Retour au Livre d'or</a>";
       
        // On sort du script !
        exit;
}
(Traduction en français: si le champ "message" ou le champ "pseudo" sont vides, ou si le champ "captcha" ne l'est pas, on envoie gentiment bouler l'expéditeur...)
Last edited by Fuvola on 14 May 2009 15:37, edited 1 time in total.
User avatar
svernoux
Membre / Member
Posts: 17921
Joined: 09 Jun 2004 09:55
Location: Beaujolais

Re: utiliser un champ "Captcha" pour réduire spam

Post by svernoux »

Intéressant ! Et par pure curiosité (vu que je ne pratique pas le php) : est-ce qu'il ne vaudrait pas mieux appeler le champ autrement que captcha ? Les robots ne risquent-ils pas de s'en méfier ?
Sonka - Сонька
I'm a father and I am a son but I don't know how to tell them that I have come undone
Fuvola
Membre / Member
Posts: 24
Joined: 27 Aug 2006 13:47
Location: Toulouse

Re: utiliser un champ "Captcha" pour réduire spam

Post by Fuvola »

Bonjour Sonka,
Eh bien, je l'ai nommé "captcha", justement pour que les robots se croient obligés de le remplir...mais bien sûr, on peut lui donner n'importe quel nom!
User avatar
svernoux
Membre / Member
Posts: 17921
Joined: 09 Jun 2004 09:55
Location: Beaujolais

Re: utiliser un champ "Captcha" pour réduire spam

Post by svernoux »

Ah oui, excuse, j'avais plus les idées en place quand j'ai posté tout à l'heure... :marto:
C'est logique en effet !
Sonka - Сонька
I'm a father and I am a son but I don't know how to tell them that I have come undone
Fuvola
Membre / Member
Posts: 24
Joined: 27 Aug 2006 13:47
Location: Toulouse

Re: utiliser un champ "Captcha" pour réduire spam

Post by Fuvola »

On peut même faire plus vicieux en créant plusieurs champs masqués, avec par exemple un vrai champ appelé "nom", un faux appelé "name", un vrai appelé "sujet", un faux appelé "subject", et ainsi de suite...
Là, je ne vois pas trop comment un robot pourrait s'en tirer, le spammeur n'aurait plus qu'à remplir le formulaire à la main! Enfin, j'y penserai lorsque le problème se posera!
Bonne journée
User avatar
Latinus
Admin
Posts: 24768
Joined: 18 Mar 2002 01:00
Location: complètement à l'Ouest
Contact:

Re: utiliser un champ "Captcha" pour réduire spam

Post by Latinus »

Il faut distinguer deux cibles types :

1) Le site web "homemade" pour lequel les concepteurs de "robots spam" ne consacreront pas de temps à les y adapter.
Dans ce cas, n'importe quelle astuce anti-robot fonctionnera très bien et il n'y aura aucune limite dans la diversité et le nombre de celles-ci, chaque internaute pouvant imaginer sa petite touche personnelle.

2) Le site web employant un produit largement utilisé sur la toile (ce forum-ci par exemple, qui utilise le script phpBB) pour lequel les concepteurs de "robots spam" consacreront volontiers du temps, voire de l'argent, à y adapter leurs robots.
Dans ce cas, à moins de modifier en profondeur le-dit produit (et donc s'écarter des facilités de mises à jour ou maintenance le concernant), toute protection passive contre le spam sera tôt ou tard (plus tôt que tard, d'ailleurs) contournée et ce de manière automatisée... La dernière barrière infranchissable restant le contrôle opéré (ici par un modérateur) manuellement, le spammeur n'ayant d'autre recours que de tenter de le corrompre...

... mais pas de ça chez nous :baff: :loljump:
Les courses hippiques, lorsqu'elles s'y frottent.
Post Reply