Comment bloquer les araignées baidu


15

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.


2
pourquoi pas? Je ne veux pas de trafic chinois.
Zhianc

6
Je ne dis pas que vous ne devriez pas, je vous demande pourquoi vous embêter. Vous font-ils du mal d'une manière ou d'une autre? N'est-il pas plus facile de simplement ignorer? "Ne pas vouloir de trafic chinois" n'est pas vraiment une réponse ici, juste une xénophobie limite. Et bloquer un moteur de recherche n'est pas la même chose que bloquer les chinois, donc vous n'avez même pas vraiment de sens. Il me semblait que vous cherchiez peut-être une solution basée sur un problème défectueux. Mais apparemment, vous voulez simplement arbitrairement bloquer une araignée, alors allez-y, je suppose.
Su '

7
@Su 'J'ai découvert que l'araignée baidu rampait de manière extrêmement agressive sur mon site, provoquant des blocages pour le trafic légitime. De plus, j'ai également constaté que l'araignée baidu n'obéit pas aux robots.txtrègles.
starbeamrainbowlabs

2
J'obtiens environ 1-2 coups par seconde des supposées araignées Baidu. Chaque hit génère un nouveau fichier de session sur mon serveur. J'ai un script pour supprimer ces fichiers de session mais ces araignées surchargent également mon serveur MySQL. Je veux vraiment les bloquer.
Buttle Butkus

2
Peut confirmer que baiduspider ou quelque chose se présentant comme baiduspider explore les sites de manière non éthique et ignore les directives robots.txt.
JMC

Réponses:


8

Dans votre fichier robots.txt, ajoutez

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /

5
Et s'ils ne respectent pas robots.txt?
Zhianc

5
Il se trouve que je sais que les accès "Baiduspider / 2.0" à partir d'adresses IP chinoises n'obéissent pas à robots.txt sur mon site. En outre, ils utilisent souvent des accès coordonnés (à quelques minutes d'intervalle) du même bloc d'adresse IP qui n'utilisent pas l'ID d'agent utilisateur "Baiduspider".
mgkrebbs

Yandex obéit à robots.txt Je les ai bloqués jusqu'à ce que nous réalisions qu'une bonne partie de nos affaires vient de Russie et que nous avons dû retirer le bloc. Baidu, vous devez vérifier les netblocks. Tous les utilisateurs annoncés par Baidu ne sont pas réellement des Baidu, vous devez donc faire un bloc robots.txt pour le trafic Baidu légitime, puis faire un bloc de chaînes UA dans votre fichier .htaccess pour ce qui reste, puis perdre votre vie à faire une identification et un refus bloc par bloc pour le reste qui contourne le bloc de chaîne UA. C'est autant de travail que de renforcer votre serveur pour prendre le trafic.
Fiasco Labs

2
J'ai User-agent: *et les accès baiduspider continuent d'être effectués.
reinierpost

3
Yandex est un moteur de recherche différent pour le marché russe, il suffit donc de l'inclure ici lorsque la question ne pose aucun problème et sans rien écrire à ce sujet est quelque peu irresponsable.
Collector

7

Je viens d'empêcher avec succès le robot Baiduspiderde 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

  1. Environ chaque 20ème demande à mon serveur provenait d'un baidu bot. C'est un comportement impoli. Baidubot représente 5% de l'utilisation de la bande passante de mes sites.
  2. Je fais beaucoup d'efforts pour garder les ressources de mon site petites et tirer parti des technologies telles que la mise en cache du navigateur afin de faire de petits gains de vitesse et de bande passante. Il est logique d'envisager de libérer ces 5% en bloquant Baidubot.
  3. La possibilité de perdre du trafic chinois est un risque acceptable pour l'entreprise, car le contenu du site est géographiquement spécifique au Royaume-Uni, il n'y a pas de version en langue chinoise et les revenus sont générés par la publicité ciblant le marché britannique.

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/24signifie une plage de 256 tailles à partir de 0, ce 180.76.5.0/24qui signifie en fait chaque adresse IP entre 180.76.5.0et 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.


leurs blocs d'adresses IP peuvent changer, il a donc besoin de maintenance de temps en temps
asgs

5

Vous pouvez utiliser la directive suivante dans robots.txtpour 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.conffichier 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.


3

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;

2

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.

Ce que j'ai fait:

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.


1

Vous pouvez bloquer par adresse IP à l'aide ngx_http_access_modulede 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/24pour 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 .


1

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.


1
Le Fdrapeau implique L, vous n'avez donc pas besoin d'inclure explicitement le Ldrapeau ici. En outre, un modèle comme ^.*Baiduest le même que simplement Baidu.
MrWhite
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.