Nginx-Anti-Crawler-Strategie, um UA am Crawlen von Websites zu hindern

Nginx-Anti-Crawler-Strategie, um UA am Crawlen von Websites zu hindern

Anti-Crawler-Richtliniendatei hinzugefügt:

vim /usr/www/server/nginx/conf/anti_spider.conf

Dateiinhalt

#Deaktivieren Sie das Crawlen durch Tools wie Scrapy if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { 
   Rückgabe 403; 
} 
#Zugriff mit angegebener UA oder leerer UA deaktivierenif ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|^$" ) { 
   Rückgabe 403;        
} 
#Deaktivieren Sie das Crawlen mit anderen Methoden als GET|HEAD|POST if ($request_method !~ ^(GET|HEAD|POST)$) { 
  Rückgabe 403; 
}
#Der Befehl zum Blockieren einer einzelnen IP lautet #deny 123.45.6.7
#Blockieren Sie das gesamte Segment von 123.0.0.1 bis 123.255.255.254#deny 123.0.0.0/8
#Blockieren Sie den IP-Bereich von 123.45.0.1 bis 123.45.255.254. #verweigern Sie 124.45.0.0/16
#Der Befehl zum Blockieren des IP-Bereichs von 123.45.6.1 bis 123.45.6.254 lautet #deny 123.45.6.0/24
# Die folgenden IPs sind alle Rogue #deny 58.95.66.0/24;

Konfigurationsverwendung

Auf dem Server der Site einführen

# Anti-Crawler-Einbindung /usr/www/server/nginx/conf/anti_spider.conf

Starten Sie nginx abschließend neu.

Überprüfen Sie, ob es gültig ist

YYSpider simulieren

λ curl -X GET -I -A 'YYSpider' https://www.myong.top
HTTP/1.1 200 Verbindung hergestellt
HTTP/2 403
Server: Marco/2.11
Datum: Fr., 20. März 2020, 08:48:50 GMT
Inhaltstyp: Text/HTML
Inhaltslänge: 146
x-Quelle: C/403
x-Anforderungs-ID: 3ed800d296a12ebcddc4d61c57500aa2

Baiduspider simulieren

λ curl -X GET -I -A 'BaiduSpider' https://www.myong.top
HTTP/1.1 200 Verbindung hergestellt
HTTP/2 200
Server: Marco/2.11
Datum: Fr., 20. März 2020, 08:49:47 GMT
Inhaltstyp: Text/HTML
variieren: Accept-Encoding
x-Quelle: C/200
zuletzt geändert: Mi, 18. März 2020 13:16:50 GMT
etag: "5e721f42-150ce"
x-Anforderungs-ID: e82999a78b7d7ea2e9ff18b6f1f4cc84

Gängige User-Agents für Crawler

FeedDemon-Inhaltssammlung BOT/0.1 (BOT für JCE) SQL-Injection CrawlDaddy-SQL-Injection Java-Inhaltssammlung Jullo-Inhaltssammlung Feedly-Inhaltssammlung UniversalFeedParser-Inhaltssammlung ApacheBench CC-Angreifer Swiftbot nutzloser Crawler YandexBot nutzloser Crawler AhrefsBot nutzloser Crawler YisouSpider nutzloser Crawler (wurde von UC Shenma Search erworben, dieser Spider kann freigegeben werden!) 
jikeSpider nutzloser CrawlerMJ12bot nutzloser CrawlerZmEu phpmyadmin SchwachstellenscanWinHttp-Sammlungcc-AngriffEasouSpider nutzloser CrawlerHttpClient-TCP-AngriffMicrosoft URL Control-ScanYYSpider nutzloser Crawlerjaunty WordPress-Blasting-ScannoBot nutzloser CrawlerPython-urllib-InhaltssammlungIndy Library-ScanFlightDeckReports Bot nutzloser CrawlerLinguee Bot nutzloser Crawler

Oben sind die Details der Anti-Crawler-Strategie von Nginx aufgeführt, die UA daran hindert, die Website zu crawlen. Weitere Informationen zum Nginx-Anti-Crawler finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • SpringBoot+webMagic implementiert Beispielcode für Website-Crawler
  • Springboot + Webmagic implementiert Java Crawler JDBC und MySQL-Methode
  • Python-Crawler crawlt Taobao-Produktpreisvergleiche (mit Taobao-Lösung für Anti-Crawler-Mechanismus)
  • Zusammenfassung der Methoden zum Umgehen des Anti-Crawlers in Python
  • Detaillierte Erläuterung zum Umgang mit Python-Anti-Crawler-Wissenspunkten mit Cookies
  • Detaillierte Erläuterung von 4 Möglichkeiten zum Umgehen von Anti-Crawler-Mechanismen in Selenium-Webdriver
  • Website-Anti-Crawler-Strategie
  • Allgemeine Anti-Crawler-Strategien in Python
  • Selenium Anti-Crawler zum Überspringen des Implementierungscodes der Taobao-Schiebereglerüberprüfungsfunktion
  • Python-Crawler und Anti-Crawler-Krieg
  • Python Anti-Crawler verschleiert den Browser zum Crawlen
  • So verwenden Sie die Springboot-Anti-Crawler-Komponente kk-anti-reptile

<<:  Webinterview: Der Unterschied zwischen MVC und MVVM und warum Vue nicht vollständig mit MVVM kompatibel ist

>>:  So optimieren Sie die MySQL-Indexfunktion basierend auf dem Schlüsselwort „Explain“

Artikel empfehlen

Detaillierte Erklärung zum Erstellen einer aktualisierbaren Ansicht in MySQL

Dieser Artikel beschreibt anhand eines Beispiels,...

Zusammenfassung der MySQL-Abfragesyntax

Vorwort: In diesem Artikel wird hauptsächlich die...

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das ...

So installieren Sie den RabbitMQ-Server mit Yum auf CentOS

Socat muss vor der Installation von rabbitmq inst...

Was bedeutet das „a“ in rgba? CSS RGBA-Farbleitfaden

RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...

Node+Socket realisiert einfache Chatroom-Funktion

In diesem Artikel wird der spezifische Code von N...

Tutorial zum Ändern von Inline-Stilen von element.style

Vorwort Als wir den Stil der Webseite oben geschr...

CSS3-Zeitleistenanimation

Ergebnisse erzielen html <h2>CSS3-Zeitleist...