Er zijn goede bots en er zijn slechte bots. Goede bots (robots die een website kruipen) crawlen en indexeren van uw site en in het verkeer brengen. Slechte bots verbruiken bandbreedte, vertragen van uw server, stelen van uw inhoud en zoekt u naar kwetsbaarheid voor uw server in gevaar te brengen.
Ik heb ze in gestreden in de afgelopen 15 jaar als systeembeheerder. Deze 'How-to' is gebaseerd op mijn persoonlijke ervaring. Slechte bots zijn er in alle maten en verschillende User-Agent-tekenreeksen gebruikt om te zich te identificeren. Er zijn vele bots die er - wat van uw site met verschillende niveaus van Verve crawlen kan. Velen zijn wel onschadelijk. Andere dan de zoekmachines, sommige robots worden beheerd door andere legitieme agentschappen om te bepalen van het beste bijpassende campagne voor de inhoud van een pagina voor een potentiële adverteerder of om te kijken voor het koppelen van informatie of tot het nemen van een momentopname voor archiveringsdoeleinden.
U kunt een lijst van gemeenschappelijke bots vinden hier:
Voor zover wij vertellen kunnen - volgen zij de richtlijnen van Robots.txt in een bepaalde website. De lijst bevat bots met identificeerbare informatie gegeven in hun vakgebied van User-Agent. Wanneer u door de lijst bladert, vindt u ook dat vele grote zoekmachines User-Agent snaren volgens hun behoefte schakelen. Meest fatsoenlijke bots zal hun contactverbinding in hun gebruiker-Agent koord te helpen de webmaster te communiceren hun voorkeur of bieden manieren om blokkeren ze uit het tekstbestand - Robots.txt
U kunt vertragen van het tempo van het kruipen of de toegang tot bepaalde mappen ontzeggen van dat tekstbestand.
Bijvoorbeeld, kan weigert u toegang voor alle pagina's in je document root voor dit 'Zum' bot van uw robots.txt-bestand zoals hier:
Gebruiker-agent: ZumBot
Disallow: /
Alle reguliere bots zal dit bestand gelezen en gehoorzamen de richtlijnen die er van. Maar slechte bots niet de moeite om uw robots bestand lezen of lezen om te weten welke zijn de verboden mappen te kruipen. Zodoende zulks ' hoe-te-inventarisatie slechte bots maakt gebruik van een eenvoudige truc om te ontdekken hun voornemen en maakt een logboekbestand voor verdere actie.
Stap 1: Maak een bestand dat een logboek in uw server kunt schrijven. Ik heb gezien een Perl script hier bots.pl. Zorg ervoor dat dit bestand wordt opgeslagen in je cgi-bin directory (ervan uitgaande dat uw server perlmanuscript kunt uitvoeren). Stel de machtiging voor dit tekstbestand uit te voeren. Start uw browser en wijs aan deze pagina. U kunt lezen van uw browser User Agent string, uw IP-adres, de verwijzende pagina (het zal zijn leeg nu) en de servertijd waarop dit verzoek werd geserveerd. By the way, ziet u een lege pagina.
Stap 2: de bovenstaande pagina bots.pl moet worden gekoppeld vanaf uw indexpagina - verborgen van de menselijke bezoekers.
Een koppeling maken als volgt:
< een href = "uw domain/cgi-bin/bots.pl >< /a >
Nu bent je ingesteld. Het logboekbestand bevat de details van de slechte bots. Maar wacht. Als u wilt kunt u bandbreedte besparen in de meeste mainstream normale bots de robots.txt cache. Er is dus een mogelijkheid dat ze hebben in de cache uw robots.txt eerder opgeslagen kunnen en niet weet van de nieuwe richtlijn wellicht. In een dergelijk geval, zouden ze deze geblokkeerde pagina kruipen. Dus negeren hen uit uw lijst.
Blokkeren van slechte Bots
Controleer dit bestand slecht-bots later voor verdere corrigerende actie. Er zijn vele manieren om deze ongewenste bots toegang te weigeren.
Optie 1:
U kunt het IP-adres tegen een witte lijst (u toevoegen uw eigen IP-adres, alsmede die van de grote zoekmachines in deze witte lijst) en het laatste IP-adressen kunnen worden geblokkeerd in de firewall.
Of de tekenreeks User-Agent toewijzen aan een deny-lijst die in 403-status (verboden resulteren kan). Het gebruikt minder serverbronnen.
Bijvoorbeeld, een van onze sites gebruikt een CGI-script in ons CMS. Het volgende codefragment stuurt een 403-verboden-status naar User-Agents wget en Zum:
Als ($ENV {'HTTP_USER_AGENT'} = ~ / wget|zum/ik) {}
afdrukken "status: 403 Forbidden\n"; afdrukken "Content-type: tekst / html \n\n"; afslag; }
Optie 2:
U kunt .htaccess gebruiken voor het blokkeren van de slechte bots in de veronderstelling dat u gebruikt de Apache HTTP-server. In het geval dat u hebt een paar slechte bots die regelmatig gebruik van een bepaalde gebruiker-Agent koord, is het gemakkelijk voor het blokkeren van hen op basis van die tekenreeks.
SetEnvIfNoCase User-Agent "^ Wget" bad_user
SetEnvIfNoCase User-Agent "^ Riddler" bad_user
Weigeren van env = bad_user
De bovenstaande Instructable is gebaseerd op deze blog.
Dank u voor het lezen van dit Instructable. Ik zal graag antwoord op eventuele vragen aan dit Instructable in de commentarensectie gerelateerde.