Block Web Crawlers
den ene tingen jeg ofte har lagt merke til er at mens Et No Entry-tegn stort sett er tilstrekkelig for å hindre folk i å bryte inn i et begrenset område, er det ikke en absolutt idiotsikker plan. Det vil alltid være noen mennesker som vil ha fullstendig mangel på respekt for dette skiltet og vil våge seg inn i det begrensede området. Bruk av roboter.txt-fil for å forby crawlere fra et bestemt nettsted er lik. Mens instruksjonene i robotene.txt-filen vil forby crawlere, edderkopper og bots fra å krype nettstedet ditt, det setter ikke noen form for mandat. Det er en mulighet for at noen edderkopper fortsatt vil krype siden din. Derfor er det behov for å blokkere crawlere.
i en tidligere artikkel skrev vi Om Hvordan Å Forby Crawlere, Edderkopper og Bots Fra Nettsteder. Selv om denne metoden er effektiv, synes det tydeligvis ikke å være tilstrekkelig. Derfor, for å løse dette problemet som oppstår, må vi komme opp med et arbeid rundt, og jeg skal gi deg nettopp det. Nå, i stedet for bare å forby crawlere med instruksjoner i robotene.txt-fil vi skal blokkere crawlere.
metoden nedenfor for å blokkere crawlere har blitt prøvd På Apache 2.4.7 (installert På Ubuntu). Jeg forventer at Det skal fungere Med Apache 2.4.x. hvis du ikke klarer å implementere metodene nedenfor På Apache, så skriv til Meg i kommentarfeltet. Vennligst gi informasjon om Din Apache versjon Og Server Operativsystem. Hvis du skal gi noen sensitiv informasjon, så kan du skrive til meg på [email protected].
HTTP Enkel Godkjenning For Å Blokkere Crawlere
den første metoden jeg skal demonstrere for å blokkere crawlere, bruker HTTP Enkel Godkjenning. Noen ganger har du kanskje kommet over autentiseringsboksen når du prøver å få tilgang til noen nettsteder som bildet nedenfor.
Autentisering Popup-Vindu For Nettsted
over boksen vises NÅR HTTP-Godkjenning er implementert. For å implementere dette må du redigere virtualhost konfigurasjonsfil av domenet ditt.
Opprett En Passordfil
Første trinn er å opprette Passordfil som inneholder brukernavn og passord. Koble til serveren din ved HJELP AV SSH og kjør under kommando
htpasswd-c < path_of_the_password_file > < brukernavn>
Erstatt < path_of_the_password_file > med stedet der du vil opprette en fil som lagrer brukernavn og passord kombinasjon i kryptert format. For forklaringens skyld, la oss anta at du gir en sti / hjem/tahseen / Desktop. Erstatt < brukernavn > med brukernavn du vil ha. For demonstrasjonsformål skal jeg lage et brukernavn wisdmlabs. Så nå skal kommandoen din se ut som nedenfor.
htpasswd-c / hjem / tahseen / Skrivebord / passord wisdmlabs
etter å ha erstattet passordfilplassering og brukernavn i kommandoen ovenfor, trykk enter. Det vil be deg om passordet til brukernavnet du vil legge til. Gi det et passord og trykk enter. Etter å ha lagt brukernavn til filen, vil det vise en melding Legge passord for brukeren < brukernavn >, der < brukernavn > vil være brukernavn du ønsket å legge til. Bildet nedenfor vil hjelpe deg å forstå hva jeg sier.
Opprett Passordfil
Merk: i kommandoen ovenfor har vi passert-c-alternativet, slik at det oppretter en fil. Hvis du allerede har en fil der den skal lagre brukernavn-passordkombinasjon, trenger du ikke å gi-c parameter.
Rediger Konfigurasjonsfil
Til nå har vi opprettet brukernavn og passord. Nå er det på tide å legge til denne informasjonen i site configuration. Dette trinnet vil hjelpe oss med å blokkere crawlere fra nettstedet vårt. La oss si at du prøver å implementere dette for abc.com. Virtualhost konfigurasjon for det domenet vil være i katalog / etc / apache2 / nettsteder-tilgjengelig katalog. Jeg antar at konfigurasjonsfilen for abc.com Er abc.com.conf. Open den konfigurasjonsfilen for redigering ved hjelp av kommandoen nedenfor.
sudo nano / etc / apache2 / nettsteder-tilgjengelig / abc. com. conf
Legg til under innhold i slutten Av VirtualHost-blokken av konfigurasjonsfilen.
<Katalog / > # Tillater interne Ip-Er å få tilgang til nettsteder direkte. Hvis du ikke har interne ip-adresser, så utelat under linjen Krever ip 192.168.2.1 / 24 # Erstatt / var/.passord med filbanen du oppgav i for htpasswd-kommandoen AuthType Basic AuthUserFile / var/.Passord AuthName "Godkjenning Kreves" krever gyldig-bruker Tilfredsstille Noen< / Katalog>
etter å ha lagt over innhold, lagre filen Og last Apache Ved å skyte kommandoen nedenfor.
sudo service apache2 last på nytt
Du er ferdig! Prøv nå å besøke nettstedet, det bør spørre deg brukernavn og passord (hvis du ikke besøker fra internt nettverk). Hvis denne autentiseringen dukker opp, har forsøket på å blokkere søkeroboter fungert!
Svare med 403 For Å Blokkere Crawlere
den andre metoden for å blokkere crawlere er å svare med 403 til crawlere. I denne metoden, hva vi skal gjøre, vil vi prøve å oppdage brukeragenter av crawlere og blokkere dem. Ulempen med denne metoden er, hvis useragent endres, crawler kan gjennomgå innholdet.
du kan legge til innholdet nedenfor i .htaccess-fil for å blokkere crawlere. Hvis det ikke virker etter at du har lagt inn det .htaccess-fil, da må du gjøre endringer i virtualhost-konfigurasjonsfilen av tilsvarende domene som vi gjorde i tidligere metode.
< IfModule mod_rewrite.c > RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).* $ RewriteRule .* - </IfModule>
Hvis det fortsatt ikke fungerer, så sørg for At Omskrivningsmodulen er aktivert. For å gjøre det, kjør kommandoen nedenfor.
apachectl-M
Hvis det ikke viser rewrite_module i utgangen, må du aktivere det for å kunne blokkere. Hvis du ikke vet hvordan du aktiverer det, kan du se artikkelen, Aktiver Omskrivingsmodulen.
de to ovennevnte metodene bør være betydelige for å hjelpe deg med å blokkere crawlere fra nettstedet ditt. Men hvis du fortsatt har noen problemer, så vær så snill å komme i kontakt med meg gjennom kommentarfeltet.
- WordPress Tips & Triks
- med tagger: apache, Block Crawlers, HttpBasicAuthentication, Staging Nettsteder, Web Edderkopper
- Sumit P
vær oppmerksom på at noen av koblingene i dette blogginnlegget kan være tilknyttede lenker. Dette betyr at hvis du fortsetter å kjøpe et produkt ved hjelp av en slik lenke, mottar vi en liten provisjon (uten ekstra kostnad for deg). Dette hjelper oss med å støtte bloggen og produsere gratis innhold. Vi anbefaler bare produkter vi jobber med eller elsker. Takk for din støtte!