PerishablePress : Blackhole pour les mauvais robots

Article publié, le et modifié le
2 minute(s) de lecture

Cet article contient 426 mots.
Source brute de l'article : MD

Description

Jeff Starr de PersishablePress vient de publier son plugin de sécurité pour WP, nommé Blackhole for BadBots.

L’idée de départ intéressante est, dû au fait que les robots scrutateurs du web ne respectent pas tous la déclaration du fichier robots.txt

C’est d’ailleurs pour cette raison qu’ils sont appelés “BadBots” ou “mauvais robots”.

Puisque ces mauvais robots ne respectent rien, on va les piéger, puis bloquer leurs adresses IP !

Installation

Commençons par télécharger la dernière mouture des scripts PHP :
https://perishablepress.com/blackhole-bad-bots/#blackhole-download

Une fois l’archive décompressée, ouvrez le script index.php, et remplissez/modifiez correctement les valeurs des variables $from, $recip
enregistrez la modification.

Pensez à modifiez l’url de contact, en lignes 206 et 229 ; et, idem pour le script blackhole.php en ligne 56.

Dans votre site, créez un répertoire blackhole, dans lequel vous déposerez les fichiers blackhole, précédemment téléchargés -
bien sûr, pas besoin du fichier .htaccess

Mettez des droits 0600 sur le fichier blackhole.dat, si votre serveur permet cette gestion fine…

Configuration

Ensuite, modifiez vos scripts PHP de cette manière - oui, là, c’est un peu la contrainte ! :

  • Dans votre code source PHP, rajoutez cette déclaration suivante - si possible, avant tout code html… voire tout autre code PHP :
    include(realpath(getenv('DOCUMENT_ROOT')) .'/blackhole/blackhole.php');
  • Toujours dans le code source PHP, rajoutez la suivante, où vous voulez, mais le plus probablement dans ce qu’on appelle le ‘footer’ :
    <a rel="nofollow" style="display:none;" href="http://votre-ndd.tld/blackhole/">NE PAS Suivre ce lien où vous serez bannis - interdits d'accès - à ce site !</a>
  • Puis, terminez par rajouter cette déclaration dans votre fichier robots.txt :
    Disallow: /blackhole/

Maintenant, modifions le fichier de configuration de votre serveur nginx pour ajouter cette déclaration location :

Code : nginx

    location /blackhole/blackhole.dat {
        satisfy any;
        deny all;
    }

Puis, pensez à tester votre configuration nginx, et redémarrez votre serveur !

Vous obtiendrez ainsi une belle erreur 404, si le fichier est appelé…


À partir de maintenant, quand un mauvais robot, ou quelqu’un cherchera à pointer sur le répertoire blackhole, et/ou un de ses fichiers, il sera blacklisté, puis quand il reviendra, il ne lui sera pas permis d’avoir accès au site web…

Le script vous enverra un mail ; si vous ne voulez pas en recevoir, éditez le script index.php, et mettez en commentaire PHP la ligne 226, commençant ainsi :
//mail($recip, $subject, $message, 'From: '. $from);

Il existe d’autres options modifiables ; là, je vous renvoie au site PerishablePress !


Version modifiée

Retrouvez la version modifiée sur mon espace git, ainsi que l’archive ZIP correspondante !

L’auteur est informé ; j’espère qu’il intégrera mes modifications ;-)