it-swarm.com.de

Wie man baidu Spinnen blockiert

Die meisten meiner Besuche stammen von Baidu-Spinnen. Ich denke, es hilft Suchmaschinen überhaupt nicht, also denke ich darüber nach, wie ich sie blockieren kann. Könnte dies über iptables erfolgen? Ich benutze Nginx als Webserver.

15
Zhianc

In deiner robots.txt hinzufügen

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /
8
Anagio

Ich habe gerade erfolgreich den chinesischen Suchroboter Baiduspider für den Zugriff auf Inhalte auf meiner Website gesperrt. Ich habe mich aus folgenden Gründen dafür entschieden.

Gründe für die Entscheidung zu sperren

  1. Ungefähr jede 20. Anfrage an meinen Server stammte von einem Baidu-Bot. Das ist unhöfliches Verhalten. Baidubot macht 5% der Bandbreitennutzung meiner Site aus.
  2. Ich bemühe mich sehr, die Ressourcen auf meiner Site klein zu halten und Technologien wie Browser-Caching zu nutzen, um kleine Gewinne bei Geschwindigkeit und Bandbreite zu erzielen. Es ist logisch zu erwägen, diese 5% durch das Blockieren von Baidubot freizugeben.
  3. Die Möglichkeit, chinesischen Datenverkehr zu verlieren, ist ein akzeptables Risiko für das Unternehmen, da der Inhalt der Website für Großbritannien spezifisch ist, es keine chinesische Sprachversion gibt und die Einnahmen aus Werbung für den britischen Markt generiert werden.

Ich hoffe also, dass Su 'und andere, die über Fremdenfeindlichkeit besorgt sind, verstehen, dass diese Entscheidung eine kühle Antwort auf eine unhöfliche Anzahl von Anfragen ist.

Methode

Baiduspider greift mit vielen verschiedenen IP-Adressen auf meinen Server zu, aber diese Adressen liegen in bestimmten Bereichen. Meine .htaccess-Datei enthält nun die folgenden Zeilen:

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 

Die untere Zeile beschreibt im Wesentlichen 4 IP-Bereiche, in denen ich Baiduspider kenne und NUR Baiduspider auf meinen Server zugreift. Jeder der 4 Bereiche besteht aus 256 aufeinander folgenden Adressen (insgesamt 1024). Bitte beachten Sie, dass die Syntax für die IP-Bereiche in der Zeile deny from... sehr verwirrend sein kann, wenn Sie die CIDR-Bereiche nicht gelesen haben. Verstehen Sie einfach, dass der 0/24 einen 256-Größenbereich ab 0 bedeutet, so dass 180.76.5.0/24 tatsächlich jede IP-Adresse zwischen 180.76.5.0 und 180.76.5.255 bedeutet. Ja, nicht besonders offensichtlich! Aber wenn Sie erfahren möchten, warum oder sich verwirrt fühlen, gehen Sie zu http://www.mediawiki.org/wiki/Help:Range_blocks

Zusammenfassung

Das Internet sollte frei, offen und fair sein. Aber das bedeutet, dass Organisationen wie Baidu lernen, Robots.txt zu gehorchen, und weniger gierig auf die Regelmäßigkeit der Crawls sind. Meine Lösung besteht darin, an sehr leistungsfähigen Einstellungen zu basteln. Bevor Sie also mit der .htaccess-Datei herumspielen, müssen Sie Ihr Original sichern und bereit sein, ein Rollback durchzuführen, wenn Sie Ihren Server in einem glanzvollen Moment herunterfahren. Fahren Sie auf eigenes Risiko fort.

7
Martin Joiner

Sie können die folgende Anweisung in robots.txt verwenden, um das Crawlen Ihrer Site zu verhindern.

# robots.txt
User-agent: Baiduspider
Disallow: /

Crawler können entscheiden jedoch, den Inhalt Ihrer robots.txt zu ignorieren. Darüber hinaus kann die Datei von Suchmaschinen zwischengespeichert werden und es dauert einige Zeit, bis die Änderungen übernommen werden.

Am effektivsten ist es, die Serverfunktionen zu nutzen. Fügen Sie Ihrer nginx.conf -Datei die folgende Regel hinzu, um Baidu auf Serverebene zu blockieren.

if ($http_user_agent ~* ^Baiduspider) {
  return 403;
}

Denken Sie daran, Nginx neu zu starten oder zu laden, um die Änderungen zu übernehmen.

5
Simone Carletti

Ich habe mich gerade entschlossen, Baidu zu blockieren, da das Verkehrsaufkommen für das aggressive Scannen zu vernachlässigbar war. Darüber hinaus führen sie jetzt einen Agenten aus, der sich als Browser ausgibt, JavaScript-Code (z. B. Google Analytics) startet und unsere Statistiken durcheinander bringt.

Die Nice-Version aktualisiert Ihre robots.txt folgendermaßen

User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /

Aber wenn man bedenkt, was andere hier geschrieben haben und sie einen Benutzeragenten verwenden, der ihre Anwesenheit verbirgt, würde ich ihre IP-Adressen insgesamt blockieren. Das Folgende ist, wie es in Nginx gemacht wird

# 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;
3
Collector

Wordpress-Lösung (nicht die beste, hilft aber)

Dasselbe Problem mit der Biadu-Spinne, die so aggressiv war, dass meine Box in meiner Konsole mit Top über 35 lag. Offensichtlich kann selbst ein schneller Computer keine externen Anforderungen mit einer Geschwindigkeit von 35 effektiv verarbeiten.

Ich habe die Anzahl der IPs (von diesem Universitätsgebäude ????) auf mehrere Hundert festgelegt, hauptsächlich mit zwei Benutzeragenten.

Direkte Folge? Da ich einen Cloud-Server habe, musste ich diesen auf einen höheren Speicher aufrüsten, um eine angemessene Antwort zu ermöglichen.

Vorherige Antwort:

#Baiduspider
User-agent: Baiduspider
Disallow: /

Baidu scheint völlig unfähig zu sein, die robot.txt-Angabe zu beachten.

Was ich getan habe:

Ich habe das WP-Ban-Plugin für Wordpress (kostenlos) installiert und Folgendes gesperrt:

SER AGENTS:

  • Baiduspider+(+http://www.baidu.com/search/spider.htm)

  • Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

Außerdem adressiere ich mit Wp Super Cache die relative Fehlerseite zu einer statischen Seite um, so dass die gesamte wordpress -Installation nicht/oder zumindest nur für die gesperrten Benutzer die Mysql-Datentabelle überprüft.

(Dies ist Standard Wordpress blablabla, so dass jeder in der Lage ist, ein Wordpress Plugin zu installieren, da für dieses Verfahren kein Codierungs- oder FTP-Zugriff erforderlich ist.)

Ich stimme allen zu: Das Internet ist kostenlos und verbietet, wer oder was auch immer das absolut Letzte ist, was jemand tun sollte, aber Baidoo kostet mich heute 40 USD mehr/Monat, nur um eine auf Portugiesisch geschriebene Webseite zu spinnen, und ich habe einige Zweifel, ob es welche gibt Viele Chinesen und Besucher können diese Sprache lesen und verstehen.

2
Claudio Klemp

Verwenden Sie .htaccess mit

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .*  - [L,F]

Mit "RewriteEngine On" können Sie sicherstellen, dass die folgenden Zeilen korrekt analysiert werden. Der HTTP_USER_AGENT ist die Zeile, in der sich die Spinnen identifizieren. Die Bedingung ist wahr, wenn die Zeile "MJ12bot" oder "Baidu" enthält. NC bedeutet "nicht case sensitive" und Sie können Bedingungen mit OR verketten. Die letzte Zeile darf kein "ODER" enthalten oder die Regel funktioniert nicht.

Baidu ist besonders böse, weil es versucht Wordpress Einträge ("fckeditor", "wp-content") zu lesen, wofür es überhaupt keinen Grund gibt. MJ12bot ist auch eines der schlechten Lebewesen.

Die Rewrite-Regel bedeutet, dass die Spinne mit einem 403 Forbidden ([F]) blockiert wird, um auf alle Dateien zuzugreifen (. * Ist ein regulärer Ausdruck für jede Datei) und die weitere Auswertung ([L]) von htaccess zu stoppen.

1
Thorsten S.

Sie können mit dem ngx_http_access_module von nginx nach IP-Adresse blockieren. Um eine einzelne IP zu blockieren, können Sie der conf-Datei wie folgt eine Zeile hinzufügen

deny 12.34.567.1;

Verwenden Sie zum Blockieren eines Bereichs die Schreibweise CIDR wie 12.34.567.1/24 für den 24-Bit-Subnetzblock (mit 256 IP-Adressen), der die IP-Adresse 12.34.567.1 enthält. Weitere Einzelheiten finden Sie beispielsweise unter diese Seite .

1
mgkrebbs