Une des choses qui me fait bondir sous WordPress c’est bien le spam !!! Que l’on parle de spamco, spammer, spam d’inscription, c’est toujours du SPAM ! Alors certes, il existe des plugins WordPress et quelques techniques pour s’en prémunir mais il en reste toujours…
Lutter contre le Spam sous WordPress
Je me suis notamment rendu compte de leur recrudescence lors de la mise en place d’un site de ecommerce sous WooCommerce. Dans ce cas , comme dans d’autres, on doit laisser la possibilité aux internautes de s’inscrire sur le site (Réglages>>Général>> Rôle par défaut de tout nouvel utilisateur : Customer).
C’est là que le bât blesse ! Le nombre d’inscriptions spam ne cessait d’augmenter, allant parfois jusqu’à 10 par jour avec des adresses jetables (outlook.com, hotmail, etc) et contenant des mots clés (argent, vuiton, webmarketeur, etc). J’ai donc essayé de limiter cet afflux d’inscriptions spammy: captcha, recaptcha, pass math… Rien n’y a fait!
Jusqu’à ce que je découvre un petit plugin WordPress gratuit qui fait le boulot et qui le fait très bien. J’ai nommé Stop Spammers.
Plugin WordPress Stop Spammers
Stop Spammers utilise plus de 15 façons différentes pour détecter les spammeurs. Il vérifie les connexions, les inscriptions et les commentaires des utilisateurs de mails et les bloque quand il les trouve.
Stop Spammers élimine 99% des spams d’inscription et de commentaires, il vérifie toutes les tentatives via StopForumSpam.com, le projet Honeypot, BotScout, des listes DNSBL telles que Spamhaus.org, les hôtes connus de spammeurs tels que les serveurs Ubiquity, les adresses emails jetables, les adresses emails à rallonge (donc suspectes), les noms et entêtes HTTP_ACCEPT spammy connus. Il met également en place un faux écran de connexion pour commentaires que seuls les spammeurs peuvent trouver.
Stop Spammers vérifie les IP beaucoup plus tôt dans le commentaire et/ou dans le processus d’inscription. Dès qu’il détecte une IP spammy, le plugin arrête le process WordPress et un message d’accès refusé est présenté. Vous pouvez personnaliser le message d’accès refusé ou simplement rediriger le spammeur vers une autre page ou vers un site web.
Comment le plugin fonctionne?
Stop Spammers utilise les ressources de StopForumSpam, du projet Honeypot et BotScout pour empêcher les spammeurs de s’inscrire ou de laisser des commentaires, en vérifiant les traces/références des utilisateurs sur ces trois bases de données.
Stop Spammers fonctionne en vérifiant l’adresse IP, l’email et l’identification de l’utilisateur ou toute personne qui tente de s’inscrire, de se connecter ou de laisser un commentaire. Il peut également travailler conjointement avec Akismet pour les connexions et les inscriptions.
En option, le plugin va également vérifier les adresses emails jetables, vérifier l’absence d’une entête HTTP_ACCEPT, et vérifier plusieurs listes DNSBL tels que Spamhaus.org. Il vérifie également contre les hébergeurs connus de spammeurs tels que Ubiquity-Nobis, XSServer, Balticom, Everhost, FDC, Exetel, Virpus et d’autres serveurs, qui sont une source importante de spamco.
Il rejette les adresses emails à rallonge car les spammeurs ne peuvent pas résister à la tentation de mettre des mots clés partout ;) Il rejette également les données sous forme de post où il n’y a pas d’entête HTTP_REFERER, car les spammeurs oublient souvent d’inclure les informations de site de référence dans leur logiciel.
Le plugin installe un formulaire de commentaire “Red Herring” invisible pour les utilisateurs normaux mais pas pour les spammeurs qui essayeront de l’utiliser. Il en résultera que leur adresse IP sera ajoutée à la liste de refus. Cette fonctionnalité est désactivée par défaut parce que la forme peut poser problème avec votre thème. Activez l’option et vérifiez votre thème. Si la forme (une boîte d’un pixel) modifie la présentation de votre thème, désactivez-la! Je vous recommande fortement cette option car elle arrête de nombreux spammeurs.
Le plugin vérifie également combien de temps prend un lecteur pour lire le post, soumettre via le formulaire, puis poster son commentaire. Si cela prend moins de 4 secondes, c’est un spammeur. Un être humain ne peut pas renseigner son email, commenter puis soumettre un commentaire en moins de 4 secondes, CQFD !
Admin et Stats proposés par le plugin
Vous trouverez dans les captures ci-dessous une traduction approximative du plugin (qui est en version US), il n’y a pas de traduction FR à ce jour.
La première image présente les nombreuses options de Stop Spammers, la deuxième vous montre les statistiques et les nombreux spammeurs arrêtés!
D’autres plugins WordPress antispam
Akismet
Akismet est certainement le plus connu des plugins anti-spam. Livré d’origine avec WordPress, il nécessite une clé d’enregistrement, mais il est très facile à installer et offre une excellente protection. Quelques faux positifs à signaler cependant.
BcSpamBlock
BcSpamBlock est un plugin anti-spam qui utilise le JavaScript pour filtrer les spams. Les utilisateurs sans JavaScript doivent prouver leur légitimité via un Captcha copier/coller.
Spam Stopper
Ce plugin est basé sur une validation JavaScript avec captcha afin de s’assurer que les champs obligatoires dans le formulaire commentaires ont été remplis. Pour vous faire gagner du temps, le champ captcha de Spam Stopper ne s’affiche pas lorsque vous êtes connecté en tant qu’Admin.
Did You Pass Math?
Did You Pass Math oblige l’utilisateur à résoudre un problème mathématique simple, de type: «combien font 1 +2″. Sans réponse ou en cas de réponse erronée, le commentaire est alors considéré comme du spam et le commentaire bloqué. Simple mais efficace, il se règle et s’oublie.
JSSpamBlock
JSSpamBlock utilise JavaScript afin de filtrer les robots collecteurs d’emails et de commentaires. Les utilisateurs sans Javascript doivent prouver leur légitimité en entrant un nombre donné.
Peter’s Custom Anti-Spam
Un plein de fonctionnalités pour ce plugin anti-spam avec captcha. Peter’s Custom Anti-Spam oblige tout commentateur éventuel à identifier un mot au hasard avant la soumission de commentaire. Les mots sont affichés en tant qu’images et entièrement personnalisables. Fonctionnalités: affichage aléatoire de la police, pas de cookies, pas de JavaScript, message audio pour les malvoyants, blocage sélectif des rétroliens et pingbacks, etc.
WP-reCaptcha
Affiche des mots de vieux livres que les utilisateurs doivent interpréter correctement pour commenter. WP reCaptacha utilise le même service qui est en place sur des sites tels que Twitter, Facebook et StumbleUpon. Bonne action: l’utilisation de ce service permet de numériser des livres anciens. Inconvénient: nécessite une clé pour fonctionner.
Antispam Bee
Antispam Bee est très simple à utiliser, il possède également de très nombreuses options et des filtres. Avantage: ne stocke pas de données sur les serveurs distants.
Bad Behaviour
Bad Behaviour bloque automatiquement les robots qui ne respecte pas le robots.txt. Ce plugin interdit l’accès à votre blog avec un magnifique 403, à la plupart des robots identifiés comme spammeurs. Il peut être utilisé en solution de complément anti-spam.
Cookies for Comments
Ce plugin ajoute une feuille de style ou une image au code source de votre blog. Lorsqu’un navigateur charge cette feuille ou l’image, un cookie est déposé. Si l’utilisateur laisse par la suite un commentaire le cookie est vérifié, s’il est introuvable, alors le commentaire est classé comme spam. Cookies for Comments peut également vérifier combien de temps il a fallu à un utilisateur pour entrer un commentaire. Si c’est trop rapide, il s’agit probablement d’un robot spammeur.
Voilà déjà de quoi vous protéger des spams, je vous en propose petit dernier très efficace, à découvrir : Captcha
Ma Conclusion, Mes Réglages !
Un excellent plugin WordPress gratuit ! Stop Spammers est puissant, hautement configurable mais surtout très efficace, depuis son installation plus aucun spammeur n’est venu polluer le site sous WooCommerce, les commentaires et avis sont aujourd’hui ouverts et ne nécessitent quasiment plus aucune modération.
Parmi les réglages à soigner tout particulièrement: Blocked Email Domains, Blocked TLDs et la Spam Words List. Les connexions aux BDD antispam sont gérées automatiquement et il n’est même pas nécessaire d’obtenir de clés API. Enfin, Stop Spammers peut travailler conjointement avec Akismet pour améliorer la détection de spam.
Attention : une mauvaise manipulation, un mauvais réglage et vous pouvez vous blacklister… Donc avant toute chose on sauvegarde et on se renseigne sur la procédure qui permet de désactiver un plugin via son FTP ;) On coche également dans les réglages du plugin “Automatically add admins to white list”.
Je conseille tout particulièrement ce plugin, notamment lorsque les inscriptions sur site sont ouvertes et sans confirmation par mail, souvent le cas des sites de ecommerce mais également pour les annuaires (cf wpannuaire.com). En revanche si vous ne devez gérer que du spam de commentaires, un simple captcha devrait suffire!
Bonjour Fabrice,
J’utilise moi-même ce plugin depuis plusieurs mois sur recommandation de David (SuperNova) et c’est vrai qu’il est redoutable, parfois même trop puisque certains “non spammeurs” se retrouvent bloqués.
Heureusement qu’il y a une une “white liste” dans laquelle on peut mettre les IP qui ont été blacklistées, mais dont on veut autoriser l’accès au site ou aux commentaires.
Amicalement,
Bruno
Plus simple (pas de modifs du thème), efficace à 100% (en 5 mois n’a rien laissé passé et n’a jamais fait de faux positifs sur un site qui était attaqué sans arrêt), du même genre mais éprouvé : NoSpamNX
@Mouffles, NoSPamNX gère-t-il aussi bien le spam de commentaire que le spam d’enregistrement?
NoSpamNX, je l’ai testé sur un site pour lequel Cookies for Comments ne semblait plus donner satisfaction: je me suis retrouvé du spam à trier côté admin en moins d’une heure. Bof.
Je n’ai jamais testé Stop Spammers mais est-ce qu’il n’est pas un peu gourmand ? – il faut quand même aller tester toutes ces bases de données. De toute manière, les captchas ne sont pas une solution: ils sont confortables pour l’admin mais pas pour le visiteur.
@Lian, Stop Spammers n’est pas trop gourmand d’autant qu’on peut limiter les interrogations BDD. C’est le plus efficace que j’ai trouvé/testé à ce jour!
Bon ben mon test n’est pas super concluant. Une bonne vingtaine de spam par jour passent à travers – mais le plugin de cache ne permet pas de gérer les cookies (c’est d’ailleurs pour cela que Cookies for comments ne fonctionne plus). Je vais chercher encore.
Je repasse pour corriger mon précédent commentaire: je n’avais pas compris qu’il fallait activer les méthodes antispams en récupérant les clef API. Il est donc reparti en test mais ça a l’air de bien mieux tenir.
Je cherchais un plugin pour bloquer les inscriptions robots sur ma boutique WooCommerce tout en restant compatible Akismet, il m’a l’air sérieux. Donc je vais tester ! Merci Fabrice !
@LiAn @Aurélien, je confirme la bonne tenue du plugin et notamment sur du e-commerce, pas moins de 7000 spammeurs éjectés;)
Sur un site Buddypress à inscriptions ouvertes, j’ai mis en place Wangguard il y a un an, et c’est impec. Ca a l’air d’être le même genre ?
@Oelita, assez proche mais plus performant à mon avis;)
Salut Fabrice, j’ai testé après avoir lu ton article : terriblement efficace mais un peu trop chatouilleux avec mon forum simple:press, encore ce matin un utilisateur “normal” me contact car il a perdu l’accès au forum à cause de Stop Spammers. Je vais essayer de paufiner les réglages, mais c’est pas évident à configurer.
Dans le même genre, il y a aussi http://wordpress.org/plugins/avh-first-defense-against-spam/ – qui m’a l’air encore plus efficace.
Mais pendant ce temps, j’ai un utilisateur qui n’arrive pas à poster et je ne sais pas pourquoi. Super énervant.