Contrer le SPAM dans les commentaires WordPress

Publié le 15 juillet 2012 par Shadwk

Le spam sur les blogs est un vrai problème. Souvent les personnes qui vous spam sont des robots développé pour le référencement « low cost ». Ces robots parcourent internet pour mettre des liens sur de nombreux blogs. Le but final étant d’offrir assez de backlinks au site visé pour qu’il soit bien référencé par Google.

Hormis le fait que cette technique est dépassé depuis plusieurs années d’un point de vue référencement sur Google, avoir 10 pages de commentaires ne contenant que du spam m’agaçait quelque peu…

Malgré l’ajout d’un captcha obligatoire lorsque des gens veulent laisser un commentaire sur le site, le spam est toujours présent. J’ai donc interdit l’accès au site à certaines adresse IP.

Interdire l’accès aux robots de SPAM

Lorsqu’un commentaire est posté sur votre blog, l’adresse IP de l’émetteur est enregistré. Nous allons donc interdire l’accès à votre site pour les adresses IP contenant n’importe quoi. Pour faire cela, il suffit de créer ou éditer le fichier .htaccess à la racine de votre site. Dans ce fichier vous allez ajouter tout d’abord ceci.

Order Allow,Deny
Allow from all

Puis vous allez indiquer les URL des robots que vous ne souhaitez plus voir en copiant la ligne ci-dessous et en remplaçant « 127.0.0.1″ par une adresse IP d’un robots. Vous devrez écrire une ligne par adresse IP dans votre fichier .htaccess.

Deny from 127.0.0.1

Pour l’explication, vous venez d’entrer des directives Apache2 qui vont, avant même d’exécuter les fichiers de votre blog, filtrer les accès. Par filtrer, comprenez que si l’adresse IP est une des valeurs des lignes « Deny », alors le serveur Apache2 répondra constamment l’erreur 403 : Forbidden à n’importe laquelle des requêtes HTTP émise.

Mise en garde contre cette méthode de filtrage

Mettre en place une méthode de filtrage comme celle-ci provoque des conséquences qu’il faut bien connaître.

Le robot à l’origine du commentaire indésirable est peut être installé sur la machine piraté d’un utilisateur lambda. Cette cause aura pour conséquence une possible adresse IP dynamique difficile à bloquer…

Si nous prenons le cas de ce blog, bloquer les adresses IP en provenance des pays proche de la Russie ne pose pas de gros problèmes puisque peu de français habite par là-bas. Il ne me reste plus qu’à identifier les propriétaires des adresses et déterminer le pays d’origine.

Connaître l’identité d’une adresse IP

Pour voir l’identité d’une adresse IP, il suffit de taper dans votre terminal la commande suivante.

whois 127.0.0.1

Cette commande retourne de nombreuses informations et notamment le pays (« COUNTRY ») pour vous aider à faire votre sélection…