Sådan stopper du bots og scrapere fra at spise din båndbredde
En overraskende del af din trafik er robotter, og ikke den gode slags. Sådan spotter du skraberne, der spiser din båndbredde, fortæller dem bortset fra Google og lukker dem ud på kanten.
Her er en ting, der sker for næsten alle voksende site. Du åbner dine analyser, ser et sundt trafiknummer og har det godt. Så åbner du dine rå serverlogs - dem analytics viser dig aldrig, fordi scrapere ikke kører JavaScript og derfor aldrig vises i Google Analytics overhovedet - og finder ud af, at et enkelt IP-interval har anmodet om din hele produktkataloget fire gange i denne uge, i alfabetisk rækkefølge, klokken tre om morgenen.
Det er en skraber. Det bidrog intet, koster dig båndbredde, og hvis dine priser er på disse sider, det nu kender dem.
Instinktet på dette tidspunkt er at blokere alt, hvad der ikke er et menneske. Gør ikke det: du ville tage Googlebot med det, og at miste din søgetrafik er et langt dyrere problem end den båndbredde, du forsøgte at spare. Det, du vil have, er en dørmand, ikke en væg.
Sortering af de bots, du har brug for, fra dem, du ikke gør
Bots til at holde
- Googlebot, Bingbot – det er derfor, folk finder dig
- Optid og ydeevne overvåger du konfigureret
- Link preview-hentere til Slack, WhatsApp, sociale platforme
- Betaling og webhook callbacks fra tjenester, du bruger
Bots til at stoppe
- Pris- og indholdsskrabere, der kopierer dit katalog
- Credential stuffers afspiller stjålne logins
- Sårbarhedsscannere undersøger kendte udnyttelser
- Spam bots hamring formularer og kommentar slutpunkter
Der er en tredje kategori, der er vokset meget for nylig og passer ikke pænt i nogen kolonne: AI træningscrawlere. Uanset om du vil have dem er en forretningsmæssig beslutning snarere end en sikkerhed, og det er værd at gøre bevidst snarere end ved et uheld. De fleste af dem respekterer robots.txt, og de fleste udgiver de brugeragentstrenge, de bruger, så et par linjer i robots.txt håndterer de velopdragne. Dem, der ignorerer robots.txt, er pr. Definition i den anden kolonne.
At spotte de dårlige
Den kritiske regel er, at du identificerer bots ved Adfærd, ikke af hvad de hævder at være. En brugeragentstreng er et tekstfelt, som klienten udfylder; en skraber, der siger, at det er Chrome på macOS, koster forfatteren omkring fire sekunders indsats.
Adfærd er meget sværere at forfalske, fordi faking det betyder at være langsommere og dyrere, hvilket besejrer punktet for skrabning.
Umenneskelig anmodning satser og rytme
En person indlæser ikke 60 produktsider på 4 sekunder. De indlæser dem heller ikke med præcis 250 millisekunders intervaller i seks timer. Mennesker er uberegnelige; scripts er metronomer.
Kun HTML, ingen af møblerne
En browser, der indlæser en side, henter også CSS, skrifttyperne, billederne. En scraper vil have HTML og intet andet. En klient, der anmoder om tusind sider og nul stylesheets, er ikke en browser.
Påberåbt identitet, der ikke verificerer
Googlebot udgiver sine IP-områder, og et omvendt DNS-opslag på en rigtig Googlebot IP løser til googlebot.com og fremad-løser tilbage. Alt, der hævder at være Googlebot fra en forbruger VPS-udbyder, ligger.
Mekaniske URL-mønstre
Gå fra top til bund med dit sitemap eller gentage produkt-id'er sekventielt eller anmode om stier, der kun findes i en sårbarhedsscanners ordliste.
Trafik fra hostingområder, der aldrig konverterer
Rigtige kunder browse fra bolig- og mobilnetværk. En pludselig oversvømmelse fra et datacenter ASN med en nul konverteringsrate er et stærkt signal i sig selv.
Bloker aldrig på bruger-agent alene, og vær forsigtig med at blokere hele lande. Begge ser afgørende ud i et dashboard, og begge koster stille og roligt dig rigtige kunder. Landeblokke har især tendens til at blive indstillet under en hændelse og aldrig gennemgået igen.
Hvorfor kant er det rigtige sted at gøre dette
Det er den del, der ændrer økonomien. Hvis du blokerer en skraber på din oprindelse, har anmodningen allerede krydset internettet, åbnet en TLS-forbindelse, vækket din ansøgning og forbrugt båndbredde på vej ind. Du betalte for alt dette, og derefter returneret en 403.
Bloker den ved kanten – ude ved PoP’en nærmest bot’en – og anmodningen når aldrig din oprindelse overhovedet. Din applikation vågner aldrig op, din oprindelse båndbredde er uberørt, og dine logfiler forbliver læsbare. Under en seriøs skrabekørsel er det forskellen mellem en gener og et strømafbrydelse.
De lag, der virker
Ingen enkelt mekanisme fanger alt, og det er fint, fordi de komponerer godt. I nogenlunde den rækkefølge, de skal køre:
| Lag | Hvad det fanger | Falsk positiv risiko |
|---|---|---|
| Netværksblokliste | Kendte dårlige IP'er, der allerede er identificeret på tværs af netværket | Meget lav |
| Verificeret-bot check | Bedragere hævder at være Googlebot | Meget lav |
| Satsbegrænsende | Alt, hvad der beder om, hurtigere end et menneske kunne | Lav, hvis grænsen er generøs |
| Honeypot stier | Krybskytter, der følger links mennesker ikke kan se | Nær nul |
| Proof-of-work udfordring | Storskala automation af enhver art | Lav |
| Land / ASN regler | Blunt, situationsbestemt | Høj - brug sparsomt |
Honeypots er undervurderet
En honeypot er en webadresse, som intet menneske nogensinde vil besøge – linket fra din side, men skjult for visning, og forbudt i robots.txt. En rigtig gæst ser det aldrig. En velopdragen crawler læser robots.txt og springer den over. Alt, hvad der anmoder om det, har både ignoreret robots.txt og fulgt et usynligt link, som er omtrent lige så tæt på bevis for dårlig hensigt som du kommer på det åbne web. Falske positiver er tæt på nul, hvilket gør det til et af de få signaler, der er sikre at handle på med det samme og automatisk.
Proof-of-work er den høflige løsning
En proof-of-work udfordring beder klienten om at løse et lille beregningspuslespil, før den bliver serveret. En rigtig browser gør det på et øjeblik, og den besøgende bemærker aldrig noget. Men en skraber, der laver 100.000 anmodninger, skal nu bruge rigtig CPU på hver enkelt, og aritmetikken, der gjorde operationen værd, stopper med at fungere. Det blokerer ikke nogen - det gør bare industriel skrabning mere end det vender tilbage, hvilket normalt er nok.
Hvad skal man gøre i denne uge
- Læs dine rå logfiler, ikke analyser. Skrabere udfører ikke JavaScript, så de er usynlige i Google Analytics. Sorter anmodninger efter IP og efter brugeragent og se på de øverste tyve af hver.
- Sæt en generøs sats grænse på alt. Noget langt over, hvad et menneske kunne gøre - pointen er at fange det indlysende, ikke at politisere dine brugere.
- Stram det på de endepunkter, der betyder noget. Login, nulstilling af adgangskode, søgning og checkout fortjener meget strengere grænser end din blog.
- Tænd verificeret-bot kontrol, så bedrager Googlebots stoppe med at få et fripas.
- Tilføj en honningkrukkesti Og se hvad der kommer ind i det i en uge, før du beslutter dig for, hvad du skal gøre ved det.
- Beslut om AI-crawlere med vilje. Uanset hvilken vej du går, skriv det ind i robots.txt i stedet for at overlade det til tilfældighederne.
Ofte stillede spørgsmål
Hvordan stopper jeg scrapere fra at kopiere min hjemmeside?
Bloker dem ved CDN-kanten baseret på adfærd snarere end brugeragent. Den effektive kombination er satsbegrænsende, verificeret-bot kontrol, så bedragere crawlere afvises, honeypot stier, som kun automatiserede kunder vil anmode om, og en proof-of-work udfordring, der gør storstilet skrabning For dyrt til at være det værd. Blokering på kanten betyder, at anmodningen aldrig når din oprindelse eller koster dig båndbredde.
Hvordan kan jeg se en dårlig bot fra Googlebot?
Bekræft det i stedet for at stole på brugeragentstrengen, som alle kan indstille. Google udgiver sine crawler IP-områder, og en ægte Googlebot IP løser via omvendt DNS til et googlebot.com-værtsnavn, der fremad-løser tilbage til den samme IP. Alt, der hævder at være Googlebot fra en hostingudbyder eller VPS-sortiment, er en bedrager og kan blokeres sikkert.
Vil blokering af bots skade min SEO?
Ikke hvis du tillader en verificeret søgning crawlere. Risikoen kommer fra stumpe regler - blokering af et helt land eller en alt for aggressiv satsgrænse, der fanger Googlebot under en crawl burst. Hold verificerede søgemaskinerobotter fritaget for takstgrænser og udfordringer, og tjek din Search Console-crawlstatistik efter enhver ændring for at bekræfte, at crawlingen fortsatte normalt.
Stopper robots.txt skrabere?
Nej. robots.txt er en anmodning, ikke en håndhævelsesmekanisme. Velopdragne crawlere som Googlebot og de fleste AI-træningscrawlere ærer det; skrabere og ondsindede bots ignorerer det helt, og nogle bruger det som et kort over de stier, du hellere ikke ville se. Det er værd at vedligeholde for de bots, der samarbejder, men det er ikke en sikkerhedskontrol.
Hvad er en Proof-of-Work Challenge?
En proof-of-work-udfordring kræver, at klientens browser løser et lille beregningspuslespil, før siden serveres. En rigtig browser fuldfører det på en brøkdel af et sekund, og den besøgende ser intet usædvanligt, men en bot, der gør hundredtusindvis af anmodninger, skal bruge rigtig CPU på hver enkelt. Det identificerer ikke bots - det gør automatisering i stor skala økonomisk meningsløst.
Hvorfor vises scrapere ikke i Google Analytics?
Google Analytics er afhængig af JavaScript udførelse i browseren, og de fleste skrabere anmoder om den rå HTML uden at køre nogen scripts. Det betyder, at skrabe trafik er helt usynlig i analytics, mens du stadig forbruger reel båndbredde og oprindelse kapacitet. For at se det, se på rå server eller CDN-logfiler, hvor hver anmodning vises, uanset om JavaScript kørte.
Du vil aldrig komme til nul bots, og jagter nul er, hvordan folk ender med at blokere deres egne kunder. Det realistiske mål er, at den automatiserede trafik, du betaler for, er trafik, du valgte at tillade.
Se, hvordan NordicCDN gør dette for dit websted:
Mads har arbejdet i IT - for det meste hosting - siden han var 16. Han tog tidligt ejerskab i en SaaS-virksomhed og var med til at udvide den til Visma, har opbygget og drevet datacenternetværk og fungeret som CTO for et dansk datacenter. Han startede NordicCDN for at gøre hurtig, sikker infrastruktur enkel at bruge.