Wynik reCAPTCHA v3 wyjaśniony: jak strony oceniają odwiedzających bez wyzwania
reCAPTCHA v3 nie pokazuje wyzwania. Działa w tle na stronie, obserwuje odwiedzającego i zwraca wynik od 0,0 do 1,0, gdzie wyższa liczba oznacza, że odwiedzający jest bardziej prawdopodobnie człowiekiem. Backend strony decyduje, co zrobić z wynikiem. Formularz rejestracji może przepuścić odwiedzającego przy 0,7 i zablokować go przy 0,3. Obsługa reCAPTCHA v3 w Scarnox jest wkrótce. Ten przewodnik wyjaśnia, jak działa wynik, i podaje uprawnione sposoby, by zautomatyzowana praca nie była oceniana jako bot.
Jak powstaje wynik
Strona ładuje skrypt reCAPTCHA i wywołuje go dla akcji, na przykład login albo signup. Skrypt zbiera sygnały w przeglądarce i wysyła je do Google, które zwraca token. Serwer strony wysyła potem ten token do endpointu weryfikacji Google razem z kluczem tajnym i otrzymuje z powrotem wynik oraz nazwę akcji.
Wynik to ocena ryzyka zbudowana z kilku rodzajów sygnałów:
- środowisko przeglądarki, w tym to, czy wygląda na standardową przeglądarkę desktopową;
- zachowanie na stronie, na przykład ruch myszy, przewijanie i czas;
- historia odwiedzającego z daną stroną, na przykład wcześniejsze udane sesje;
- wzorzec żądań, w tym to, jak często i jak szybko żądania przychodzą z jednego adresu.
Dokładna waga nie jest publikowana i się zmienia. Publiczny jest kontrakt: strona wybiera próg, a wynik decyduje o rezultacie.
Dlaczego automatyzacja dostaje niski wynik
Zautomatyzowany ruch zwykle dostaje niski wynik z przewidywalnych powodów. Headless browser z domyślnymi ustawieniami ma nietypowe sygnały. Nowa sesja nie ma historii. Szybki, regularny wzorzec żądań nie przypomina człowieka przeglądającego stronę. Adresy z centrów danych są traktowane z większą podejrzliwością niż domowe łącza. Każdy z tych czynników jest sygnałem, a kilka razem może obniżyć wynik poniżej progu.
Ponieważ nie ma widocznego wyzwania, niski wynik często oznacza ciche niepowodzenie. Strona się ładuje, formularz jest odrzucany i nic nie mówi, dlaczego. Buduj logowanie tak, żebyś widział błąd po stronie serwera.
Uczciwe sposoby na utrzymanie zdrowego wyniku
Te podejścia są przeznaczone dla twojej własnej pracy i uprawnionego zbierania danych:
- Używaj prawdziwego profilu przeglądarki. Zwykła przeglądarka z normalnymi ustawieniami i rozszerzeniami rzadziej jest oceniana jako bot niż goła wersja headless. Przewodnik o fingerprintingu przeglądarki wyjaśnia, jak odczytywane jest środowisko przeglądarki.
- Utrzymuj ciepłe sesje. Zachowuj ciasteczka między żądaniami i nie zaczynaj każdej strony od zera.
- Dostosuj tempo żądań. Ludzie nie ładują stu stron w ciągu sekundy. Dodawaj opóźnienia i losuj je w rozsądnym zakresie.
- Unikaj oczywistych zdrad. Domyślne user agenty, brak ustawień języka i niespójne rozmiary ekranu to łatwe sygnały do naprawienia.
- Testuj względem własnego progu. Jeśli prowadzisz stronę, czytaj wynik na stagingu i sprawdzaj, które sygnały go obniżają. Klucze testowe Google są przydatne do testowania integracji bez prawdziwej oceny.
Te kroki zmniejszają fałszywe alarmy przy prawdziwej pracy. Nie są sposobem na udawanie wyniku człowieka w celu nadużyć, a żadne z tych podejść nie zmienia faktu, że to właściciel strony decyduje o progu.
Czego wynik nie robi
Wynik nie dowodzi, że odwiedzający jest człowiekiem, i nie mówi, dlaczego odwiedzający dostał niski wynik. Niski wynik może wynikać z nietypowej, ale uprawnionej przeglądarki, wspólnej sieci albo VPN. Traktuj wynik jako jedno z wejść. Jeśli twoja uprawniona praca stale dostaje niski wynik, uczciwą odpowiedzią często jest poproszenie właściciela strony o dodanie do listy dozwolonych albo o API.
Gdzie stoi Scarnox
Scarnox nie rozwiązuje dziś reCAPTCHA v3 na żywo. Jedynym działającym typem zadania jest PopularCaptcha, proxyless. reCAPTCHA v3 jest wkrótce. Solver oparty na wyniku musi zwrócić token, który strona zaakceptuje, co jest innym problemem niż rozwiązanie widocznej zagadki, dlatego szczegóły integracji zostaną opisane w referencji API, gdy wsparcie zostanie wydane.
Załóż konto, aby zacząć z darmowym kredytem próbnym, bez karty, a będziesz gotowy, gdy ten typ będzie dostępny.
Czytanie wyniku we własnych logach
Ponieważ nie ma widocznego wyzwania, jedynym sposobem zrozumienia niepowodzenia opartego na wyniku jest jego logowanie. Na własnej stronie zapisuj wynik, nazwę akcji i flagę sukcesu, które twój backend otrzymuje z wywołania weryfikacji, wraz ze znacznikiem czasu żądania i ścieżką, z której przyszło. Po tygodniu ruchu zwykle widać wzorzec, który pokazuje, które strony lub przepływy mają niski wynik. Przepływ, który zawsze ma niski wynik, może być prawdziwym problemem dla zwykłych użytkowników, na przykład krok rejestracji, który następuje zbyt szybko po załadowaniu strony, a nie problemem z botami.
Porównuj też wyniki dla tej samej akcji w różnych przeglądarkach i sieciach. Jeśli zwykły odwiedzający z domowego łącza dostaje dobry wynik, a ten sam odwiedzający w firmowym VPN dostaje słaby, wynik reaguje na sieć, a nie na przeglądarkę, i rozwiązaniem jest rozmowa o dostępie, a nie zmiana w automatyzacji.
Trzymaj logi wolne od danych osobowych. Wynik i nazwa akcji wystarczają, by zdiagnozować większość problemów, a przechowywanie czegoś więcej tworzy obowiązek ochrony prywatności, którego nie chcesz.
Scrapuj odpowiedzialnie
Przed zadaniem scrapingu sprawdź robots.txt i regulamin strony. Utrzymuj niskie tempo, unikaj zbierania danych osobowych, których nie potrzebujesz, i pamiętaj, że ocena oparta na wyniku to wybrany przez stronę sposób ochrony siebie. Obchodzenie jej na dużą skalę jest sygnałem, że zadanie należy przemyśleć albo uzgodnić z właścicielem. Szerszy obraz omawia przewodnik o legalności web scrapingu.