Методы защиты от веб-скрапинга и как их обойти
Попередній перегляд
Олександр Л.
11 czerwca 2025
1764
1764
11 czerwca 2025
Web scraping — to zautomatyzowany zbiór informacji ze stron internetowych. Może być potrzebny do różnych celów, w tym wyszukiwania informacji, tworzenia katalogów danych, monitorowania zmian i aktualizacji, a także indeksacji witryn. Jednak web scraping (znany również jako parsowanie) nie zawsze jest używany wyłącznie do celów informacyjno-statystycznych — często znajduje zastosowanie w innych zadaniach, często związanych z działalnością komercyjną:
- Zbieranie cennych lub płatnych danych;
- Plagiat lub uzyskanie nieuczciwej przewagi konkurencyjnej;
- Przeciążenie serwera określonej strony (jako akt ataku technicznego);
- Obniżenie dochodów konkurencyjnych witryn (boty parsujące omijają modele subskrypcji);
- Zniekształcanie statystyk odwiedzin witryn. Dlatego właściciele stron wdrażają zabezpieczenia przed parsowaniem, opierając się na kwestiach bezpieczeństwa, prawnych i handlowych.
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, korzystanie z IP z różnych zakresów i lokalizacji geograficznych.
- Ustanowienie opóźnień między zapytaniami i losowych interwałów.
- Wprowadzenie losowych działań między zapytaniami w celu imitacji zachowania człowieka-użytkownika.
- Filtrowanie User-Agent. Blokada podejrzanych lub brakujących nagłówków HTTP. Metoda obejścia:
- Imitacja rzeczywistych nagłówków prawdziwych przeglądarek.
- Okresowa zmiana nagłówków.
- Randomizacja ciągu User-Agent między sesjami dostępu.
- Wykonywanie skryptów Java. Dostarczanie danych dopiero po pełnym renderowaniu strony internetowej przez skrypt Java po stronie klienta, możliwe z opóźnieniami renderowania. Metoda obejścia:
- Użycie przeglądarek bezgłowych (headless browsers).
- Wykorzystanie usług opartych na przeglądarkach do renderowania stron.
- CAPTCHA. Realizacja zadań związanych z czynnością myślową człowieka (rozpoznawanie obrazków, wpisywanie tekstu, obracanie obiektów itp.). Metoda obejścia:
- Użycie zautomatyzowanych lub humanizowanych serwisów rozpoznawania i obsługi CAPTCHA.
- Unikanie uruchamiania CAPTCHA poprzez symulację zachowania człowieka na stronach.
- Wykorzystanie narzędzi do zapobiegania uruchomieniu CAPTCHA.
- Rozpoznawanie odcisków przeglądarki. Zbieranie danych i analizowanie właściwości urządzenia (WebGL, canvas, czcionki, system operacyjny, rozdzielczość ekranu i inne), z którego następuje dostęp do strony, w celu rozpoznawania botów. Metoda obejścia:
- Zakryte wtyczki (plugins).
- Narzędzia do podmiany danych.
- Wykorzystanie rzeczywistych profili przeglądarek z okresową rotacją.
- Śledzenie cookie. Monitorowanie sesji odwiedzin i analiza ich pod kątem „ludzkiego” zachowania. Metoda obejścia:
- Przetwarzanie plików cookie za pomocą narzędzi imitujących realizację humanizowanej sesji.
- Zapisywanie informacji o sesjach między zapytaniami.
- Okresowe czyszczenie cookie.
- Dodanie niewidocznych pól do wypełniania i wysyłki formularzy. Ukryte pola Honeypot na stronach internetowych zazwyczaj wypełniają tylko boty, a nie ludzie, co czyni je podejrzanymi. Metoda obejścia:
- Analiza stron internetowych pod kątem obecności Honeypots, aby unikać wypełniania i wysyłania ukrytych formularzy.
- Uwierzytelnianie oparte na tokenach specyficznych dla sesji. Wydanie każdemu odwiedzającemu tokenów dla każdej unikalnej sesji. Metoda obejścia:
- Wstępna analiza strony w celu wykrycia takich tokenów przed rozpoczęciem wysyłania zapytań o zbieranie danych.
- Analiza ruchu myszy. Wykrywa brak ruchów myszy lub nieprawidłowe, nienaturalne ruchy. Metoda obejścia:
- Imitacja 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 sekwencji, czasu i innych zachowań, które mogą wskazywać na automatyzację. Metoda obejścia:
- Imitacja rzeczywistego zachowania człowieka podczas zagłębiania się w drzewo stron witryny.
- Dodanie losowych opóźnień między zapytaniami.
- Skanowanie stron w nieprzewidywalnej kolejności.
Podsumowanie
Współczesny web scraping nie zawsze jest nieszkodliwy, dlatego strony internetowe koniecznie wdrażają metody ochrony przed nim, rozróżniając roboty od ludzi-użytkowników.
