Методы защиты от веб-скрапинга и как их обойти
Попередній перегляд
Олександр Л.
11 czerwca 2025
1055
1055
11 czerwca 2025
Web scraping — to zautomatyzowany zbiór danych z witryn internetowych. Może być potrzebny do różnych zadań, w tym wyszukiwania informacji, tworzenia katalogów danych, monitorowania zmian i aktualizacji, a także indeksowania stron internetowych. Jednak web scraping (znany również jako parsowanie) nie jest zawsze wykorzystywany tylko do celów informacyjno-statystycznych — znajduje zastosowanie także w szeregu innych zadań, często związanych z działalnością komercyjną:
- Zbieranie cennych lub płatnych danych;
- Plagiat lub uzyskanie nieuczciwej przewagi konkurencyjnej;
- Przeciążenie serwera konkretnej strony (jako akt ataku technicznego);
- Obniżenie przychodów stron konkurencji (boty parsujące obchodzą systemy subskrypcji);
- Zniekształcanie analiz ruchu na stronach internetowych. Dlatego właściciele stron wdrażają zabezpieczenia przed parsowaniem, kierując się kwestiami bezpieczeństwa, ochrony prawnej i handlowej.
Dostępne metody web scrapingu i sposoby ich obejścia
- Ograniczenie prędkości lub blokada IP. Wykrywane są wielokrotne i zbyt częste zapytania z jednego IP lub ich zakresu (np. setki zapytań na sekundę), po czym takie IP są blokowane lub ograniczane w częstotliwości zapytań w jednostce czasu. Metoda obejścia:
- Rotacja IP, używanie IP z różnych zakresów i lokalizacji geograficznych.
- Ustalanie opóźnień między zapytaniami i losowych interwałów.
- Wprowadzanie losowych działań między zapytaniami w celu imitatowania zachowania ludzkiego użytkownika.
- Filtracja User-Agent. Blokada podejrzanych lub brakujących nagłówków HTTP. Metoda obejścia:
- Immitacja prawdziwych nagłówków prawdziwych przeglądarek.
- Okresowa zmiana nagłówków.
- Losowa zmienność linii User-Agent między sesjami dostępu.
- Wykonywanie skryptów JavaScript. Dostarczanie danych dopiero po pełnym wyrenderowaniu strony internetowej przez skrypt JavaScript po stronie klienta, możliwe z opóźnieniami renderowania. Metoda obejścia:
- Użycie przeglądarek bez głowy (headless browsers).
- Użycie usług opartych na przeglądarkach z renderowaniem stron.
- Captcha. Wykonywanie zadań związanych z działalnością poznawczą człowieka (rozpoznawanie tego, co jest na obrazkach, wprowadzanie tekstu, wykonywanie obrotu obiektów itp.). Metoda obejścia:
- Użycie zautomatyzowanych lub ucyfrowionych usług rozpoznawania i obsługi Captcha.
- Unikanie uruchamiania systemów Captcha poprzez symulację zachowania ludzkiego na stronach.
- Użycie narzędzi zapobiegających uruchomieniu Captcha.
- Rozpoznawanie odcisków przeglądarki. Zbieranie danych i analiza właściwości urządzenia (WebGL, canvas, czcionki, system operacyjny, rozszerzenia ekranu itp.), z którego odbywa się dostęp do witryny, w celu rozpoznania botów. Metoda obejścia:
- Ukryte wtyczki.
- Narzędzia do podmieniania danych.
- Użycie prawdziwych profili przeglądarek z okresową rotacją.
- Śledzenie plików cookies. Monitorowanie sesji odwiedzin i analiza ich pod kątem "ludzkiego" zachowania. Metoda obejścia:
- Przetwarzanie plików cookies przy użyciu narzędzi imitujących realizację humanizowanej sesji.
- Zapisywanie informacji o sesjach między zapytaniami.
- Okresowe czyszczenie plików cookies.
- Dodanie niewidzialnych pól do wypełniania i wysyłania formularzy. Ukryte pola Honeypot na stronach internetowych zwykle są wypełniane tylko przez boty, a nie przez ludzi, co czyni je podejrzanymi. Metoda obejścia:
- Analiza stron internetowych pod kątem Honeypots, aby uniknąć wypełniania i wysyłania ukrytych formularzy.
- Autoryzacja oparta na tokenach specyficznych dla sesji. Przydzielanie każdemu odwiedzającemu tokenów na każdą unikalną sesję. Metoda obejścia:
- Wstępna analiza strony w celu wykrycia takich tokenów przed rozpoczęciem zbierania danych.
- Analiza ruchu myszy. Wykrywa brak ruchów myszy lub nieprawidłowy, nienaturalny ruch dla człowieka. Metoda obejścia:
- Imitacja naturalnego ruchu myszy, w tym przewijania i kliknięć.
- Użycie bibliotek symulujących naturalne zachowanie myszy.
- Analiza wzorców ruchu sieciowego. Śledzenie częstotliwości zapytań, ich kolejności, czasu i innych zachowań mogących świadczyć o automatyzacji. Metoda obejścia:
- Imitacja rzeczywistego zachowania człowieka podczas zagłębiania się w strukturę strony internetowej.
- Dodanie losowych opóźnień między zapytaniami.
- Skanowanie stron w nieprzewidywalnej kolejności.
Podsumowanie
Współczesny web scraping nie zawsze jest bezpieczny, dlatego strony internetowe muszą wdrażać metody ochrony przed nim, odróżniając roboty od prawdziwych użytkowników.
