Le truc à la mode chez les spammeurs en ce moment c’est le referrer spam, ou la pollution de vos logs Apache par des sites peu recommendables, vous donnant ainsi l’impression que la moitié de vos visiteurs sont des détraqués sexuels cherchant le repos dans des analyses économiques ou dans des exposés de littérature espagnole. Au début, on se demande comment ces mystérieux visiteurs ont pu trouver notre site. Après 3 ou 4 jours et quelques milliers de hits sur les mêmes pages avec un pic de consommation de bande passante, on commence à voir rouge. Ma mission (et je l’accepte) : bouter les spammeurs hors du site. J’ai pour cela étudié 2 possibilités : soit on gère tout avec Apache et ses .htaccess, soit on écrit un script PHP qui va bloquer les intrus et les envoyer ailleurs. J’ai privilégié le .htaccess vu que cela se fait au bas niveau du serveur, ce qui devrait consommer moins de ressources que l’interprétation du script PHP.

Méthode 1 : utilisation du .htaccess

Le principe est simple : nous allons tester la variable HTTP_REFERER de nos visiteurs et vérifier qu’ils ne sont pas blacklistés. S’ils le sont, on les expédie sur un site bidon (voir la dernière ligne). Toutes les lignes de la blacklist se finissent par [OR] ou [NC,OR] sauf la dernière qui se termine en [NC].

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?joyvids.com.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?formymob.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?foryourmob.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?bkinky.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?topshelfinks.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wickedringtones.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?pvblog.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?highprofitclub.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wickedringtones3.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wickedringtones4.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)adult(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)anal(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)gay(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)mature(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)nude(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)porn(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)pus*y(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)sex(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)teen(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)tits(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)titten(-|.).*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*accepted.cc$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*episodesusdbz/.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?advancedmoneyloans.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?affiliplanet.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?apart-?design.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?auktion.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?autogewinne24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?autospiele24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?babay.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?euromillionen.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?eurowins.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?geldspiele24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?goovle.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?gsm-support.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?gzltax.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?heil-fasten.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?immobiliengewinne24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?incest-.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?keywordmaster.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?nackt-stars-nackt.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?one2onemag.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?qw8.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?referrer-script.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?reisegewinne24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?rootfood.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?shemale.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?single66.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?slamhost.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?spielepsychatrie.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?superface.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?topgewinn24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?topspiele24.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?transexual.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?usa-wins.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?vendini.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?webmasterplan.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wseeker.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?xmaster.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?spammersite7.com.*$ [NC]
RewriteRule \.*$ http://spam.abuse.net/ [R,L]
RewriteEngine Off

Méthode 2 : utilisation d’un script PHP

A lire :  16 dépôts Cydia pour votre iPhone ou iPod Touch

Même principe mais en se servant de PHP, je ne vais pas réinventer la roue : suivez l’exemple de Holy Schmoly! ou de FragFactory.

Voilà, le mois de mars vient de commencer et je n’ai plus aucun pollueur dans mes stats. La liste est bien sûr à moduler selon vos spammeurs et les sites que vous souhaitez bloquer.

Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée .

Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ou ajouter de nouvelles fonctionnalités? Ou améliorer les performances de votre site?

Parlons de votre projet »

Articles en rapport:

Matt
Author

Matt est formateur, développeur expert WordPress et WooCommerce, et administrateur réseau chez Codeable.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :