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

So konfigurieren Sie die CDN-Planung mit dem Modul Nginx_geo

Einführung in das Geo-Modul von Nginx Die Geo-Dir...

Analyse des MySQL-Beispiels DTID Master-Slave-Prinzip

Inhaltsverzeichnis 1. Grundkonzepte von GTID 2. G...

Einführung in verschiedene Möglichkeiten zur Einführung von CSS in HTML

Inhaltsverzeichnis 1. CSS-Stile direkt in HTML-Ta...

JavaScript-Implementierung von Lupendetails

Inhaltsverzeichnis 1. Rendern 2. Umsetzungsprinzi...

Gängige Methoden und Probleme der Docker-Bereinigung

Wenn Sie Docker für die Entwicklung im großen Maß...

Fallzusammenfassung zur Vue-Komponentenkommunikationsmethode

Inhaltsverzeichnis 1. Übergeordnete Komponente üb...

So konfigurieren Sie pseudostatisches und clientadaptives Nginx

Das Backend verwendet das Framework thinkphp3.2.3...