Методы защиты от веб-скрапинга и как их обойти
Попередній перегляд
Олександр Л.
11 czerwca 2025
1887
1887
11 czerwca 2025
Web scraping — to zautomatyzowany zbiór informacji ze stron internetowych. Może być potrzebny do różnych zadań, wśród których są wyszukiwanie informacji, tworzenie katalogów informacji, monitorowanie zmian i aktualizacji, a także indeksacja webowa. Jednak web scraping (znany również jako parsering) nie zawsze jest używany wyłącznie do celów informacyjno-statystycznych — często jest stosowany również w innych zadaniach, często związanych z działalnością gospodarczą:
- Zbieranie cennych lub płatnych danych;
- Plagiat lub uzyskiwanie nieuczciwej przewagi konkurencyjnej;
- Przeciążenie serwera określonej strony (jako akt ataku technicznego);
- Obniżenie przepływów dochodów konkurencyjnych stron (boty parserujące obchodzą modele subskrypcji);
- Zniekształcanie statystyk odwiedzalności stron. Dlatego właściciele stron wdrażają zabezpieczenia przed parserowaniem, kierując się względami bezpieczeństwa, prawnymi i handlowymi.
Dostępne metody web scrapingu i ich obejścia
- Ograniczenie prędkości lub blokada IP. Wykrywane są liczne 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 geo.
- Wprowadzenie opóźnień zapytań i losowych interwałów.
- Wdrożenie losowych działań między zapytaniami w celu naśladowania zachowania użytkownika.
- Filtracja User-Agent. Wykonywane jest blokowanie podejrzanych lub brakujących nagłówków HTTP. Metoda obejścia:
- Naśladowanie prawdziwych nagłówków rzeczywistych przeglądarek.
- Cykliczna zmiana nagłówków.
- Losowa zmiana ciągu User-Agent między sesjami dostępu.
- Wykonywanie skryptów Java. Dostarczanie danych tylko po pełnym renderowaniu strony internetowej przez skrypt Java klienta, możliwe z opóźnieniami renderowania. Metoda obejścia:
- Użycie przeglądarek headless.
- Użycie usług opartych na przeglądarkach z renderowaniem stron.
- Captcha. Wykonywanie zadań związanych z czynnościami poznawczymi człowieka (rozpoznanie tego, co jest na obrazkach, wpisanie tekstu, wykonanie obrotu obiektów itp.). Metoda obejścia:
- Użycie zautomatyzowanych lub zhumanizowanych serwisów rozpoznawania i obsługi Captcha.
- Unikanie uruchamiania captcha przez imitację zachowania ludzkiego na stronach.
- Wykorzystanie 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, rozdzielczość ekranu itp.), z którego wykonywany jest dostęp do strony, w celu wykrycia botów. Metoda obejścia:
- Tajne wtyczki.
- Narzędzia do podmieniania danych.
- Użycie prawdziwych profili przeglądarek z okresową rotacją.
- Śledzenie plików cookies. Śledzenie sesji odwiedzin i ich analiza pod kątem „ludzkiego” zachowania. Metoda obejścia:
- Obsługa plików cookies za pomocą narzędzi imitujących przeprowadzenie zhumanizowanej sesji.
- Zapisywanie informacji o sesjach między zapytaniami.
- Cykliczne czyszczenie cookies.
- Dodanie niewidzialnych pól do wypełniania i wysyłania formularzy. Ukryte pola Honeypot na stronach internetowych są zazwyczaj wypełniane tylko przez boty, a nie przez ludzi, co oznacza je jako podejrzane. Metoda obejścia:
- Analiza stron internetowych pod kątem Honeypots, aby zapobiec wypełnianiu i wysyłaniu ukrytych formularzy.
- Autoryzacja oparta na tokenach specyficznych dla sesji. Przyznanie każdemu odwiedzającemu tokenów dla każdej unikalnej sesji. Metoda obejścia:
- Wstępna analiza strony w celu wykrycia obecności takich tokenów przed rozpoczęciem wysyłania zapytań o dane.
- Analiza ruchu myszy. Wykrywa brak ruchów myszy lub nienaturalny ruch, niecharakterystyczny dla człowieka. Metoda obejścia:
- Naśladowanie naturalnego ruchu myszy, w tym przewijania i kliknięć.
- Użycie bibliotek symulujących naturalne zachowanie myszy.
- Analiza wzorców ruchu. Śledzenie częstotliwości zapytań, ich kolejności, czasu i innych zachowań, które mogą wskazywać na automatyzację. Metoda obejścia:
- Naśladowanie rzeczywistego zachowania człowieka podczas zagłębiania się w strukturę strony.
- Dodanie losowych opóźnień między zapytaniami.
- Skany stron w nieprzewidywalnej kolejności.
Podsumowanie
Nowoczesny web scraping nie jest zawsze nieszkodliwy, dlatego strony internetowe powinny wdrażać metody ochrony przed nim, rozróżniając roboty od ludzi użytkowników.
