Déjà inclus dans les squelettes d'articles etc.-->
SPIP : techniques et compléments

Lutter contre le spam dans les forums de SPIP

(mis à jour le 17/01/2010)

dimanche 17 janvier 2010 par Bertrand Degoy

De très nombreux robots spammeurs tentent d’écrire des messages dans les forums attachés aux articles. Un site est d’autant plus exposé qu’il bénéficie d’un bon référencement sur les moteurs de recherche. Cet article explique comment se débarasser du spam.

Sommaire de l'article

Le problème

Il ne me semble pas que le spam dans les forums puisse faire courir un risque de sécurité. Je pense que le but des spammeurs est de se faire de la publicité, ou plus simplement de faire monter le référencement de leurs sites grâce à une pluie de liens.

Les messages de spam dans les forums sont gênants dans la mesure où :
- ils envahissent l’espace de dialogue et submergent les vrais messages ;
- ils provoquent l’envoi de messages indésirables à travers les flux RSS ; submergé de spam, l’abonné risque d’effacer le flux RSS de son lecteur de news ;
- et puis : cela ne fait pas très pro !

Une première approche : le Captcha

Je ne vais pas décrire ici ce qu’est le Captcha. Le Web en est plein.

J’ai amélioré le plugin captcha2 de SPIP pour que le cryptogramme à recopier soit quelque peu brouillé.

Cela a bien réduit le spam. Mais je dois avouer qu’un robot spameur, après quelques jours, est passé à travers comme si de rien n’était. Voilà confirmé ce que tout un chacun peut lire sur les forums : le Captcha, ce n’est pas la panacée.

Une deuxième approche : Bad Behavior

J’avais déjà utilisé Bad Behavior sur mes plateformes de blogs fondées sur LifeType et j’en suis très satisfait : je n’ai jamais vu un spam sur les blogs qu’elles hébergent (septembre 2009 : je viens d’être attaqué en masse sur un de mes blogs ! il s’agit toujours du même spammeur que celui que je mentionne plus loin).

Bad Behavior comportait de nombreuses implémentations pour différents blogs ou CMS, mais pas pour SPIP. J’ai donc développé un plugin SPIP. Celui-ci est encore en version béta et en cours de test sur ce site. Déjà, j’ai pu constater qu’il bloquait des centaines de tentatives chaque jour. Voilà qui est prometteur.

Bad Behavior offre d’ailleurs des fonctionnalités dépassant l’anti-spam, en bloquant différents types de comportement douteux.

Premières observations :
- en 48h, Bad Behavior a bloqué 3050 attaques sur bidiweb.com, dont 650 étaient des tentatives d’écriture dans les forums.
- mais le 3° jour, le robot anonyme qui réussit à passer le Captcha réussit aussi à passer Bad Behavior !

Quelques tests supplémentaires pour Bad Behavior

Je pense que le problème avec Bad Behavior est que le code est publié. Les spammeurs peuvent donc facilement trouver le moyen de se conformer aux tests. Donc, j’ai rajouté des tests, compte tenu de ce que j’ai vu passer, mais je ne vais pas dire de quoi il s’agit pour des raisons évidente de sécurité !

Après 6 jours de fonctionnement, je constate que plus aucun spam ne passe. 2920 attaques sur les formulaires ont été bloquées.

Déception !

Après quelques mois, il s’avère qu’il y a encore un spammeur qui passe, dont les textes sont illisibles, sans doutes codés avec un jeu de caractère asiatiques ?

Il y a donc encore du travail à faire !

Conclusion (provisoire)

Si Bad Behaviour s’avère suffisamment efficace, pourquoi utiliser le Captcha ?

Le Captcha, c’est beau, çà fait pro, çà apporte une illusion de protection (pour cette raison un client pourrait l’exiger pour le site qu’on lui développe), mais cela réduit l’accesibilité par les personnes ayant des problème de vue.

Sur ce sujet, voir : Inaccessibility of CAPTCHA

En somme : le Captcha peut encore faire illusion quelques temps, mais il va falloir très vite faire preuve d’une maîtrise supérieure de la question du spam.

A suivre ...

Septembre 2009 : je ne peux toujours pas affirmer que j’ai réussi à bloquer le spam. Le Captcha fonctionne, Bad Behavior aussi (mais c’est surtout efficace pour empêcher les intrusions), mais j’ai complété les défenses avec le plugin No-Spam de Cédric Morin, que j’ai complété avec d’autres tests, et notamment une liste d’insanités interdites.

Je sais que le Captcha, c’est pas bien. Mais ni Bad behavior ni No-Spam ne suffisent à eux seuls. Les trois techniques sont complémentaires, et maintenant ... plus rien ne passe (au moins jusqu’au prochain bide !)

En résumé :
- Utilisez le Captcha si vous n’avez pas de remords envers les mal-voyants ;
- Bad Behavior, c’est plutôt contre les intrusions ; cela peut bloquer certains robots, mais ce n’est pas totalement efficace contre le spam ;
- No-Spam c’est très bien fait mais il y a un seuil de tolérance, donc des trous dans la raquette.

Il faudrait compléter No-Spam avec :
- une condition sur le délai de rédaction : on n’écrit pas un message en moins de 30 secondes, ce sont les robots qui font cela ;
- une détection des insanités (j’ai fait un prototype) ;
- une configuration des paramètres (facile avec CFG) ;
- une détection de la cohérence des langues et des polices de caractères en fonction des langues du site (pour ne pas afficher des messages incompréhensibles, qui contiennent peut-être des insanités).

A suivre donc ...


Bertrand Degoy

Articles de cet auteur

Répondre à cet article

Forum

Accueil du site | Contact | Plan du site | Statistiques | visites : 15969
Espace privé | Site privé

Site réalisé avec SPIP 2.0.10 [14698] + BiDiWeb

     RSS fr RSSSPIP : techniques et compléments   ?

Copyright © 2007 Degoy net Consultants - Tous droits réservés
Degoy net Consultants - SARL au capital de 7500 € - SIRET : 502 478 365 00013 RCS Nanterre

photos sur degoy.net