Scarnox · Blog

Arkose Labs FunCaptcha: wyzwania weryfikacyjne i rozwiązywanie

Arkose Labs, które wielu programistów nadal zna jako FunCaptcha, to dostawca captcha używany przez duże serwisy do rejestracji, logowania i płatności. Jego najbardziej znaną funkcją jest wyzwanie weryfikacyjne: krótka zagadka w stylu gry, na przykład obrócenie obiektu lub dopasowanie wzoru, która pojawia się, gdy silnik oceny ryzyka uzna, że odwiedzający wymaga dodatkowej weryfikacji. Obsługa Arkose w Scarnox jest wkrótce. Ten przewodnik wyjaśnia, jak działają wyzwania, dlaczego są trudniejsze niż proste widżety i jakie są ogólne podejścia przy legalnej pracy.

Jak dostarczane jest wyzwanie Arkose

Chroniona strona ładuje skrypt Arkose i przekazuje mu publiczny klucz identyfikujący serwis. Samo wyzwanie jest serwowane przez dostawcę, a widżet zwraca odpowiedź odwiedzającego w postaci tokenu. Tak jak w przypadku innych widżetów tokenowych, backend serwisu sprawdza ten token u dostawcy, zanim zaufa wynikowi.

Klucz publiczny to identyfikator, którego szukasz, gdy chcesz pracować z daną stroną, tak samo jak sitekey identyfikuje widżet PopularCaptcha lub reCAPTCHA. Przewodnik o szukaniu sitekey wyjaśnia, jak znaleźć identyfikatory na stronie.

Jak wyglądają wyzwania

Wyzwania Arkose są zwykle krótkie i wizualne. Przykłady to obracanie obrazka do pozycji pionowej, wybieranie pasującego elementu ze zbioru lub śledzenie sekwencji w scenie 3D. Projekt często się zmienia, a każdy serwis może używać innego zestawu wyzwań. Sama zagadka jest też sygnałem: sposób, w jaki odwiedzający się porusza, i czas, jaki zajmuje, mogą być równie ważne jak końcowa odpowiedź.

Silnik oceny ryzyka

Zanim pokaże wyzwanie, dostawca ocenia sesję. Wynik opiera się na sygnałach przeglądarki, cechach urządzenia, historii żądań i zachowaniu na stronie. Odwiedzający o niskim ryzyku może przejść bez wyzwania. Odwiedzający o wyższym ryzyku widzi jedną lub więcej zagadek, a bardzo wysokie ryzyko może zostać zablokowane.

Ponieważ silnik oceny ryzyka jest dostrajany osobno dla każdego serwisu i zmienia się w czasie, ogólne podejście, które działa na jednej stronie, może zawieść na innej. To jeden z powodów, dla których wyzwania weryfikacyjne są trudniejsze do obsłużenia niż proste widżety.

Dlaczego automatyzacja wzbudza podejrzenia

Automatyzacja jest oznaczana z tych samych powodów co inne kontrole oparte na punktacji: domyślna przeglądarka headless, nowa sesja bez historii, szybki i regularny wzorzec żądań oraz adresy sieciowe o złej reputacji. Każdy sygnał zwiększa wynik ryzyka. Wyzwanie wymaga wtedy czegoś, czego automatyzacja nie potrafi wykonać dobrze, na przykład dokładnego przeciągnięcia, wyglądającego jak ludzki ruch.

Legalne podejścia

Przy własnych testach i legalnych procesach te podejścia ograniczają niepotrzebne wyzwania:

  1. Używaj prawdziwego profilu przeglądarki ze spójnymi ustawieniami, zamiast okrojonej wersji do automatyzacji.
  2. Utrzymuj ciągłe sesje, aby odwiedzający nie wyglądał na nowego przy każdej stronie.
  3. Dostosuj tempo żądań do poziomu, który może wygenerować realny człowiek.
  4. Korzystaj ze środowiska testowego dostawcy, jeśli serwis jest Twój. Arkose i większość dużych dostawców oferuje sposób na przetestowanie integracji bez prawdziwej oceny ryzyka.
  5. Zapytaj właściciela serwisu o allowlistę, API lub dostępną alternatywę, jeśli Twoja praca jest legalna, a mimo to jesteś blokowany.

Te podejścia zmniejszają częstotliwość wyzwań. Nie odbierają jednak dostawcy prawa do weryfikacji sesji i nie powinny być używane do obejścia ochrony logowania na kontach, które nie należą do Ciebie.

Co zrobi solver Arkose

Solver tokenowy Arkose przyjmowałby klucz publiczny i adres strony, wygenerowałby poprawny token i zwróciłby go do Twojego kodu. Twój kod przesłałby następnie token wraz z formularzem, zanim wygaśnie. Kształt integracji byłby zbliżony do działającego już przepływu PopularCaptcha, ale szczegóły się różnią, a Scarnox opisze typ zadania i pola w dokumentacji API, gdy wsparcie zostanie uruchomione.

Scarnox nie rozwiązuje dziś wyzwań Arkose na żywo. Jedynym działającym typem zadania jest PopularCaptcha bez proxy. Obsługa Arkose jest wkrótce.

Gdzie przebiega granica etyczna

Wyzwania weryfikacyjne istnieją po to, by chronić strony logowania, przepływy płatności i formularze rejestracji przed nadużyciami. Używanie jakiegokolwiek solvera na tych przepływach, by logować się na cudze konta, tworzyć konta spamerskie lub kupować ograniczone towary przed innymi klientami, jest niedozwolone. Scarnox nie obsługuje takich zastosowań. Legalną pracę na chronionej stronie należy zacząć od właściciela serwisu, a jego odpowiedź decyduje o tym, co jest dozwolone.

Co sprawdzić przed zleceniem

Zanim zaplanujesz jakąkolwiek pracę na przepływie chronionym przez Arkose, odpowiedz na kilka pytań. Czy ten przepływ jest Twój? Jeśli tak, środowisko testowe dostawcy i własna kopia stagingowa to miejsce do budowy i testów. Czy zadanie jest legalne? Zbieranie publicznych informacji w sposób dozwolony przez serwis jest legalne; logowanie się na cudze konta lub masowe tworzenie kont legalne nie jest. Czy serwis oferuje API lub kanał danych, dzięki którym praca w przeglądarce nie jest potrzebna? Wiele serwisów to robi, a jest to szybsze i stabilniejsze niż automatyzowanie wyzwania.

Następnie przyjrzyj się wolumenowi. Wyzwania weryfikacyjne reagują na zachowanie w czasie, więc zadanie działające z niskim, stałym tempem zwykle dostaje mniej wyzwań niż seria wysłana naraz. Zaplanuj harmonogram z tym na uwadze i upewnij się, że zadanie zatrzymuje się i zgłasza problem, gdy napotka wyzwanie, na które nie było przygotowane, zamiast ponawiać próby w pętli.

Na koniec z góry zdecyduj, co zadanie ma robić, gdy wyzwania nie da się ukończyć. Czysty błąd z wpisem w logu jest znacznie lepszy niż lawina ponownych prób, która obciąża serwis i prowadzi do zablokowania Twojego ruchu.

Scrapuj odpowiedzialnie

Jeśli planujesz scrapowanie chronionego serwisu, najpierw sprawdź robots.txt i regulamin. Utrzymuj niskie tempo, unikaj danych osobowych, których nie potrzebujesz, i szukaj API, zanim zbudujesz przepływ w przeglądarce. Przewodnik o legalności web scrapingu omawia główne pytania.

Następne kroki