La plupart de mes visites proviennent d'araignées baidu. Je ne pense pas que cela aide les moteurs de recherche, donc je pense à la façon de les bloquer. Cela pourrait-il être fait via iptables? J'utilise nginx comme serveur web.
robots.txt
règles.
La plupart de mes visites proviennent d'araignées baidu. Je ne pense pas que cela aide les moteurs de recherche, donc je pense à la façon de les bloquer. Cela pourrait-il être fait via iptables? J'utilise nginx comme serveur web.
robots.txt
règles.
Réponses:
Dans votre fichier robots.txt, ajoutez
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
et les accès baiduspider continuent d'être effectués.
Je viens d'empêcher avec succès le robot Baiduspider
de recherche chinois d'accéder à tout contenu de mon site. J'ai pris la décision de le faire pour les raisons suivantes.
Raisons de décider de bloquer
J'espère donc que Su 'et d'autres personnes préoccupées par la xénophobie comprendront que cette décision est une réponse froide à un nombre impoli de demandes.
Méthode
Baiduspider accède à mon serveur en utilisant de nombreuses adresses IP différentes, mais ces adresses tombent dans certaines plages. Mon fichier .htaccess contient donc maintenant les lignes suivantes:
order allow,deny
allow from all
# Block access to Baiduspider
deny from 180.76.5.0/24 180.76.6.0/24 123.125.71.0/24 220.181.108.0/24
La ligne de fond décrit essentiellement 4 plages IP dans lesquelles je sais que Baiduspider et SEULEMENT Baiduspider accède à mon serveur. Chacune des 4 plages correspond à 256 adresses consécutives (1024 au total). Veuillez noter que la syntaxe des plages IP sur la deny from...
ligne peut être très déroutante si vous n'avez pas lu sur les plages CIDR. Comprenez simplement que le 0/24
signifie une plage de 256 tailles à partir de 0, ce 180.76.5.0/24
qui signifie en fait chaque adresse IP entre 180.76.5.0
et 180.76.5.255
. Ouais, pas particulièrement évident! Mais si vous voulez savoir pourquoi ou si vous aimez simplement vous sentir confus, rendez-vous sur http://www.mediawiki.org/wiki/Help:Range_blocks
Sommaire
Internet doit être gratuit, ouvert et équitable. Mais cela signifie que des organisations comme Baidu apprennent à obéir à Robots.txt et sont moins gourmandes avec la régularité de ses analyses. Ma solution consiste à bricoler des paramètres très puissants.Avant de vous amuser avec le fichier .htaccess, assurez-vous de sauvegarder votre original, prêt à être restauré si vous arrêtez votre serveur dans un éclat de gloire. Procédez à vos risques et périls.
Vous pouvez utiliser la directive suivante dans robots.txt
pour interdire l'exploration de votre site.
# robots.txt
User-agent: Baiduspider
Disallow: /
Cependant, les robots peuvent décider d'ignorer le contenu de votre robots.txt. De plus, le fichier peut être mis en cache par les moteurs de recherche et il faut du temps avant que les modifications soient reflétées.
L'approche la plus efficace consiste à utiliser les capacités de votre serveur. Ajoutez la règle suivante à votre nginx.conf
fichier pour bloquer Baidu au niveau du serveur.
if ($http_user_agent ~* ^Baiduspider) {
return 403;
}
N'oubliez pas de redémarrer ou de recharger Nginx afin d'appliquer les modifications.
Je viens de décider de bloquer Baidu car la quantité de trafic qu'il nous fournissait était trop négligeable pour leur balayage agressif. En outre, ils exécutent désormais un agent qui usurpe l'identité d'un navigateur et lance du code JavaScript (tel que Google Analytics) et foiré nos statistiques.
La belle version met à jour votre robots.txt avec ce qui suit
User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /
Mais compte tenu de ce que d'autres ont écrit ici et d'eux en utilisant un agent utilisateur qui cache leur présence, je bloquerais complètement leurs adresses IP. Voici comment cela se fait dans nginx
# Baidu crawlers
deny 123.125.71.0/24;
deny 180.76.5.0/24;
deny 180.76.15.0/24;
deny 220.181.108.0/24;
Solution Wordpress (pas la meilleure mais aide)
Même problème avec l'Araignée Biadu, aussi agressive que ma box se classait plus de 35 dans ma console en utilisant le top. De toute évidence, même un ordinateur rapide ne peut pas gérer efficacement les demandes extérieures à 35 ....
J'ai tracé le nombre d'IP (de ce bâtiment universitaire ????) à plusieurs centaines, avec principalement deux agents utilisateurs)
Conséquence directe? Comme j'ai un serveur cloud, j'ai dû le mettre à niveau vers une mémoire plus élevée afin de permettre une réponse décente.
Réponse précédente:
#Baiduspider
User-agent: Baiduspider
Disallow: /
Baidu semble totalement incapable de respecter l'indication robot.txt.
J'ai installé le plugin WP-Ban pour Wordpress (gratuit) et banni les éléments suivants:
AGENTS UTILISATEURS:
Baiduspider+(+http://www.baidu.com/search/spider.htm)
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
De plus, en utilisant Wp Super Cache, je réadresse la page d'erreur relative à une page statique, donc toute l'installation de wordpress ne vérifie pas / ou au moins uniquement pour les agents utilisateurs interdits la table de données Mysql.
(Il s'agit de blablabla Wordpress standard, donc tout le monde pouvant installer un plugin Wordpress peut le faire, car aucun codage ou accès ftp n'est requis pour cette procédure)
Je suis d'accord avec tout le monde: Internet est gratuit, interdisant quiconque ou quoi que ce soit absolument la dernière chose que quiconque devrait faire, mais Baidoo me coûte aujourd'hui 40 USD de plus / mois, juste pour créer un site Web écrit en portugais, et j'ai des doutes s'il y en a beaucoup de chinois et de visiteurs capables de lire et de comprendre cette langue.
Vous pouvez bloquer par adresse IP à l'aide ngx_http_access_module
de nginx. Pour bloquer une seule IP, vous pouvez ajouter une ligne au fichier conf comme
deny 12.34.567.1;
Pour bloquer une plage, utilisez la notation CIDR , comme 12.34.567.1/24
pour le bloc de sous-réseau 24 bits (de 256 adresses IP) qui inclut l'adresse IP 12.34.567.1. Pour plus de détails, voir, par exemple, cette page .
Utilisez .htaccess avec
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .* - [L,F]
Le "RewriteEngine On" vous permet que les lignes suivantes soient analysées correctement. HTTP_USER_AGENT est la ligne où les araignées s'identifient. La condition est vraie si la ligne contient "MJ12bot" ou "Baidu". NC signifie «non sensible à la casse» et vous pouvez enchaîner les conditions avec OR. La dernière ligne ne doit pas contenir "OU" ou la règle ne fonctionne pas.
Baidu est particulièrement méchant car il essaie de lire les entrées Wordpress ("fckeditor", "wp-content"), ce qui n'a absolument aucune raison. MJ12bot est également l'une des mauvaises créatures.
La règle de réécriture signifie bloquer l'araignée avec un 403 interdit ([F]) pour accéder à tous les fichiers (. * Est une expression régulière pour n'importe quel fichier) et arrêter l'évaluation ultérieure ([L]) de htaccess.
F
drapeau implique L
, vous n'avez donc pas besoin d'inclure explicitement le L
drapeau ici. En outre, un modèle comme ^.*Baidu
est le même que simplement Baidu
.