Contrer les robots spammeurs

 

captha.gifDès lors que votre site est référencé sur le web et comporte un formulaire (destiné à envoyer un mail, à commenter un article, à s'inscrire sur un site...), il s'offre telle une proie aux vautours que sont les spambots. Les robots spammeurs prennent en effet d'assaut de nombreux sites en complétant frénétiquement les champs de saisie qui se présentent devant eux. Ici, vous trouverez une liste de solutions en vue de contrer ce phénomène.

  • Ne pas écrire son adresse mail en clair sur un site ! Voici des solutions pour cacher un e-mail.
  • Placer un champ invisible dans le formulaire (display:none ou visibility:hidden en CSS) : les spambots tentent de tous les remplir. Si ce champ est rempli, vous êtes à peu près sûr de ne pas avoir affaire à un humain ((Attention, les lecteurs d'écran des malvoyants peuvent parcourir ce genre de champ. À vous de mettre en garde les utilisateurs pour qu'ils ne le remplissent.)). Toutefois, veillez à ce que le champ ait l'air le plus normal possible pour que les robots ne l'ignorent pas (évitez les name='leaveBlank', 'detectSpam' ou 'honeypot').
  • Vérifier l'email : l'envoi d'un lien pour confirmer la transaction est une option pertinente dans le cadre de l'inscription sur un site. Elle est plus rébarbative s'il s'agit simplement de publier un commentaire sur un blog.
  • Permettre aux utilisateurs de s'inscrire par l'intermédiaire des réseaux sociaux (Oauth) est aussi une solution pour ne pas se confronter aux robots. Mais il serait déplaisant de n'offrir que cette solution aux utilisateurs, car nombre d'entre eux préfèrent une inscription classique.
  • Poser une question telle que "Quatre plus six ?" ou "Quelle est la couleur de l'herbe ?" : il s'agit d'une solution accessible pour vérifier si vous avez affaire à un robot. Toutefois, elle est souvent dissuasive pour les utilisateurs qui n'en saisissent pas l'utilité.
  • Imposer un CAPTCHA visuel (image résistant aux dispositifs OCR) est une possibilité. Mais les CAPTCHAs sont rébarbatifs pour les utilisateurs et surtout non accessibles aux personnes souffrant de troubles visuels sévères ((Les aveugles et malvoyants ne sont capables de prendre connaissance du contenu d'une image que par l'attribut "alt" de l'élément HTML "img". En l'occurrence, les CAPTCHAS ne renseignent pas ce genre d'attribut, sous peine de prêter main forte aux robots spammeurs.)), donc à éviter dans la mesure du possible.
  • Imposer un CAPTCHA audio est une option intéressante, mais pas meilleure que la précédente. Le problème de l'accessibilité se pose en effet non seulement pour les sourds et malentendants, mais aussi pour les utilisateurs dont la carte son serait dysfonctionnelle...
  • Imposer un reCAPTCHA (Google) semble une option partiellement fonctionnelle en termes d'accessibilité. Certains lecteurs d'écran sont en mesure d'y accéder, d'autres non. Dans ce cas-ci, Google analyse si l'utilisateur est un robot ou non sur base des mouvements de la souris et de la manière dont les réponses sont saisies. Toutefois, cet outil est controversé, parce qu'il semble au passage se saisir des données privées de l'utilisateur à des fins publicitaires.
  • Vérifier si l'IP n'appartient pas à une liste noire via des outils tels que Project HoneyPot, Stop forum spam ou Botscout.
  • Bloquer les IP selon le lieu d'origine de "l'utilisateur" : la plupart des robots spammeurs émanent de Chine, Inde, Indonésie, Pakistan, Russie et Ukraine. Si votre site n'est pas destiné à un public international, envisagez de bloquer ce type d'IP d'emblée.
  • Bloquer une liste de mots-clés : si les contenus postés comprennent des termes inappropriés ou que, par exemple, 5 consonnes se suivent dans une chaîne de caractères, bloquez l'IP.
  • Dénombrer le nombre de tentatives d'écriture/d'inscription émanant d'une même adresse IP et prévenir le flood ou les attaques en rejetant l'IP pour une durée établie au bout de X essais.
  • Détecter la rapidité de complétion : les robots remplissent un formulaire en une maigre poignée de secondes après l'ouverture de la page. Des outils jQuery sont en mesure de calculer ce genre de délai, à vous de bloquer les faux-utilisateurs potentiels qui prennent moins de 5 secondes pour compléter et valider un formulaire.
  • Demander aux utilisateurs de fournir leurs motivations pour rejoindre le site et soumettre les réponses à l'appréciation d'un modérateur pour l'activation des comptes. C'est ultra ingrat et fastidieux tant pour les utilisateurs que pour les gestionnaires du site, mais c'est très sûr...
  • [CMS] Utiliser des solutions anti-spams telles qu'Akismet sous Wordpress ou Mollom sous Drupal.

Malgré toutes ces solutions, aucune ne garantit à 100% que vous soyez à l'abri d'attaques qui portent leurs fruits. L'évolution des robots est grandissante, il convient de veiller sans cesse pour adapter la sécurité de son site en conséquence.


Informations complémentaires

Sources

Enregistrer