J'ai eu mon compte d'hébergement Siteground suspendu hier en raison de l'excès de ressources CPU autorisé. Outre la recommandation de désactiver ou de contrôler l'API WP heartbeat, il m'a également été recommandé de bloquer les bots malveillants et le mauvais trafic arrivant sur le site.
Le gars du service d'assistance téléphonique a recommandé d'ajouter les quelques lignes suivantes dans le fichier .htaccess
:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} (bot|crawl|robot)
RewriteCond %{HTTP_USER_AGENT} !(Bing|Google|msn|MSR|Twitter|Yandex) [NC]
RewriteRule ^/?.*$ "http\:\/\/127\.0\.0\.1" [R,L]
Ce code bloquera pratiquement tous les robots sauf "Bing | Google | msn | MSR | Twitter | Yandex".
Lorsque j'ai commencé à me pencher davantage sur cette question, je suis également tombé sur quelques vidéos informatives et des tutoriels sur l'utilisation du fichier .htaccess pour bloquer les robots. Par exemple cette vidéo ici . Mais dans ce cas, le gars ajoute environ 30 lignes aux bots qu’il veut bloquer au lieu des bots qu’il veut autoriser.
Est-ce que je devrais ajouter une liste de bots à AUTORISER ou devrais-je ajouter une liste de bots à BLOCK?
Une façon de penser aux bots est de les traiter comme suivant le spectre Lawful-Chaotic et Good-Evil.
(Bien que les robots ne puissent pas être méchants, on peut leur demander d'agir au nom de ceux qui font le mal.)
Un exemple pour Chaotic good
est Shodan, qui contribue à améliorer la sécurité en facilitant la recherche et en vérifiant vos propres systèmes, même si d'autres personnes peuvent également l'utiliser.
Pas vraiment, à moins que votre quota ne soit vraiment bas, les bons robots ne devraient toucher votre site que très rarement. Si votre quota est si bas, il serait trivial de faire votre site en l'explorant normalement.
Les mauvais robots ne feront que falsifier de bons robots, ils ne seront donc pas bloqués par cela. Les limites des agents utilisateurs n'arrêteront que les bots licites (et éventuellement ceux qui sont neutres).
Toutes sortes d’outils utilisent le grattage, y compris les vérificateurs de sites Web (dont certains bloquent les utilisateurs s’ils ne peuvent pas savoir si le site est infecté ou non), les filtres de contenu (peuvent bloquer par défaut) et des outils comme Alexa (en fonction de la nature de votre site). fournit).
Vous pouvez utiliser un service comme cloudflare, mais même cela n'arrêtera pas tous les robots. Si vous pouviez détecter la différence entre un humain et un bot sans déranger l'utilisateur, vous pourriez remplacer reCAPTCHA et bénéficier d'un excellent service.
Permettre certains bots vont vous causer des ennuis.
Par exemple, vous allez empêcher les robots Alexa, Archive, etc. d'accéder à votre site Web.
Je recommanderais de bloquer les mauvais robots par user-agent.
Les mauvais robots peuvent changer leurs agents utilisateurs dans l'en-tête de la demande. Cela ne protégera donc pas complètement votre site Web contre les mauvais robots.
Mise à jour: suite à ma question et à la recherche de plus en plus à ce sujet, je suis tombé sur un plugin appelé Blackhole for bots.
Les bons et les légitimes bots devraient naturellement suivre le fichier robot.txt, les mauvais bots ne le font pas.
Ce plugin ajoute une ligne de commande d'interdiction d'interruption au fichier robots.txt.
Si le bot ignore la ligne de commande Disallow et qu'il suit quoi qu'il en soit, il finit par se retrouver dans un "trou noir" et le verrouille en principe hors du site.
Le plugin a également une liste blanche qui, par défaut, liste les bonnes bottes connues.
Jusqu'ici, cela a très bien fonctionné.