Jak sprawdzić spójność UserAgent? Cztery słabości ujawniane przez niezgodny UA
Na stronie wykrywającej kolumna UA wygląda normalnie, a mimo to kilka dni po zalogowaniu konto i tak dostaje weryfikację. Pierwszy odruch to zwykle wstawienie innego UA albo zainstalowanie jeszcze jednego rozszerzenia zmieniającego UA. Efekt: nieprawidłowości pojawiają się częściej niż wcześniej.
Winowajcą jest najczęściej spójność. UA to jedno pole, ale platforma odczytuje je w więcej niż jednym miejscu. Jeśli zmienisz tylko jedno z nich, pozostałe zachowają starą wartość i przy porównaniu od razu wyjdzie sprzeczność.
Pierwszym krokiem sprawdzenia UA jest zweryfikowanie, czy to pole mówi to samo w każdym miejscu narażonym na odczyt, dopiero potem przychodzi kolej na zgodność z urządzeniem, regionem i podobnymi parametrami. W tym artykule najpierw rozbieramy trzy kanały, którymi platforma odczytuje UA, potem wymieniamy cztery rodzaje sygnałów, które ujawnia niezgodność. Na końcu znajdziesz listę kontrolną z pięcioma punktami porównawczymi oraz sposób konfiguracji w przeglądarce antydetekcyjnej.
Trzy kanały odczytu UA po stronie platformy
Tę samą wartość UA platforma faktycznie czyta w trzech miejscach: nagłówki żądań HTTP, nagłówki Client Hints, skrypt strony. Te trzy kanały są od siebie niezależne i każdy można sprawdzić osobno.
Przy wysyłaniu żądania ciąg UA w nagłówku to najwcześniejszy kanał: strona czyta go, zanim w ogóle dostanie stronę. Od wersji 89 Chrome przenosi informacje o urządzeniu do osobnych nagłówków serii Sec-CH-UA. Marka przeglądarki, platforma i wersja platformy mają każdy swój nagłówek, o które strona pyta według potrzeb. Dokumentacja Client Hints na MDN jasno opisuje budowę tych nagłówków.
Trzeci kanał mieszka w skrypcie strony. navigator.userAgent i navigator.userAgentData raportują z wnętrza strony jeszcze raz dane przeglądarki i platformy. W teorii wszystkie trzy odczyty są identyczne co do znaku. Gdy zmienisz jedno miejsce, pozostałe dwa nie ruszą się za nim.
Rozszerzenia zmieniające UA dokładnie tu się potykają. Większość z nich podmienia tylko ciąg UA w nagłówku żądania, więc skrypt strony nadal czyta oryginał i dwa kanały natychmiast się zaprzeczają. Wyłapanie takiej sprzeczności nie wymaga zaawansowanych umiejętności: skrypt antyfraudowy pobiera dwa odczyty i po prostu je porównuje.
Warto znać jeszcze jedno tło. Chrome stopniowo zamraża informacje w starym ciągu UA: końcówka numeru wersji jest już stała, a kolejne szczegóły wędrują do Client Hints. Pole do popisu na samej wartości UA kurczy się. Tym ważniejsza staje się zgodność między kanałami.

Co ujawnia niezgodny UA: cztery rodzaje sygnałów
Samo UA nie jest prawdziwe ani fałszywe; słabość widać dopiero w zestawie sygnałów. Gdy środowisko szwankuje, niezgodność w większości przypadków wpada w jedną z czterech poniższych kategorii.
Pierwsza kategoria: kanały przeczą sobie. Nagłówek zgłasza Chrome 126, a odczyt skryptu strony wciąż stoi na Chrome 118; albo marka zadeklarowana w Sec-CH-UA nie zgadza się z tym, co zwraca navigator.userAgentData. Taki odczyt ma praktycznie jedno wytłumaczenie: UA zmieniono punktowo i poprawka nie objęła wszystkich kanałów.
Druga kategoria: deklaracja sprzeczna z parametrami sprzętowymi. UA podaje iPhone, ale ekran ma desktopową rozdzielczość 1920×1080 i zero punktów dotyku; UA deklaruje Windows, a renderer GPU zgłasza układ Apple. Parametry sprzętowe to wartości zmierzone z prawdziwego środowiska, a UA to deklaracja, którą można wpisać dowolnie. Przy zestawieniu rozbieżność widać znacznie wyraźniej niż w samym UA. Przyczyny takich sprzeczności rozkłada na czynniki artykuł dlaczego randomizacja odcisku palca jest niebezpieczna.
Trzecia kategoria: sprzeczność z kombinacją środowiska. IP wyjściowe jest amerykańskie, a UA to chińska wersja przeglądarki, lista języków i strefa czasowa też ciągną w inną stronę. UA, system, język, strefa czasowa i IP powinny układać się w jeden obraz regionu. Wystarczy, że jeden element odstaje, i cały obraz staje się podejrzany. Tego rodzaju sprzeczności nie naprawi zmiana UA; do zmiany jest konfiguracja środowiska.
Czwarta kategoria: niezgodność z cechami warstwy transportowej. Ślady po uzgadnianiu TLS wyglądają jak narzędzie skryptowe albo bardzo stara przeglądarka, a nagłówki deklarują świeżą wersję Chrome. Cechy warstwy transportowej udaje się ukryć trudniej niż UA. Porównanie obu stron nie kosztuje platformy wiele wysiłku.
Z czterech rodzajów sygnałów pierwsze trzy da się wyeliminować już na etapie konfiguracji środowiska. Czwarty zależy od samego sposobu łączenia. W codziennej samocontrolze pilnuj trzech pierwszych, a gdy odczyty przestają się zgadzać, wróć do konfiguracji.
Jak przeprowadzić kontrolę spójności: pięć punktów porównawczych
Kontrola nie zależy od jednej strony; przejdź pięć punktów po kolei.
1. Porównanie kanałów: otwórz stronę testową w środowisku, w panelu Network narzędzi deweloperskich sprawdź UA i Sec-CH-UA w nagłówkach żądań, a potem zestaw to z odczytem navigator.userAgent w konsoli; wszystkie trzy miejsca muszą być identyczne.
2. Porównanie sprzętu: typ urządzenia zadeklarowany w UA sprawdź punkt po punkcie z rozdzielczością ekranu, obsługą dotyku, rendererem GPU, liczbą rdzeni i pamięcią; jeśli zadeklarowano dany typ urządzenia, wartości zmierzone muszą do niego pasować.
3. Porównanie regionu: język w UA, lista języków przeglądarki, strefa czasowa i IP wyjściowe powinny należeć do jednego obrazu regionu, a deklaracja urządzenia mobilnego musi też odpowiadać cechom sieci komórkowej.
4. Porównanie wersji: wersja przeglądarki w UA powinna mieścić się w popularnym zakresie dla rynku docelowego; zbyt nowa lub sprzed kilku lat wersja to sygnał ostrzegawczy, a wersja musi dodatkowo zgadzać się z zachowaniem silnika.
5. Zapis kontroli powtórnej: po zmianie konfiguracji przejdź stronę testową jeszcze raz i zapisuj odczyty z każdej rundy; gdy środowisko znowu zaczyna szwankować, te zapisy będą punktem wyjścia do szukania przyczyny.
Jeśli chodzi o narzędzia, CreepJS specjalizuje się w zbieraniu sprzeczności między odczytami skryptu strony a deklaracjami przeglądarki; testując nim środowisko ze zmienionym UA, zobaczysz konflikt kanałów od razu oznaczony. Strony typu Browserscan nadają się do ogólnego odczytu pięciu parametrów naraz. Używaj obu rodzajów narzędzi w parze. UA to tylko jeden z sygnałów spójności środowiska. Kolejność badania całego środowiska opisuje osobny artykuł o kontroli spójności pod kątem powiązań kont; jego sześciopunktowa lista kontrolna dobrze uzupełnia pięć punktów z tego tekstu.
Dopasowanie UA w przeglądarce antydetekcyjnej
Przy poprawianiu pięciu punktów porównawczych najwydajniejsze jest wygenerowanie UA razem z powiązanymi parametrami zamiast ręcznego wpisywania każdego z nich. MostMate to przyjazna dla początkujących przeglądarka antydetekcyjna oparta na AI, która przygotowuje osobne środowisko przeglądarki dla każdego konta; spójność UA wpisuje się dokładnie w jego proces konfiguracji środowiska. Zanim zaczniesz, możesz przejrzeć cały proces tworzenia na stronie produktu MostMate.
Tworząc środowisko, najpierw wybierasz system operacyjny i wersję przeglądarki, User-Agent generuje się przy okazji i w razie potrzeby można go edytować. Ustawienia języka, strefy czasowej i lokalizacji domyślnie stoją na trybie "na podstawie IP". Po wybraniu proxy wyjściowego te pozycje same ustawiają się zgodnie z regionalną kombinacją UA. Panel podglądu odcisku palca pokazuje w czasie rzeczywistym aktualne wartości User-Agent i pozostałych parametrów. Już na etapie tworzenia środowiska widać, czy cała konfiguracja trzyma się kupy, i nie trzeba wracać do poprawek po uruchomieniu.

Poziom szczegółowości konfiguracji też możesz ustawić sam. W ręcznych ustawieniach odcisku palca UA, ekran, strefa czasowa, język i kolejne pozycje, łącznie jedenaście, wybiera się każda osobno, natomiast konfiguracja rekomendowana na stronie głównej generuje spójne środowisko od razu według logiki urządzenia. Obie drogi mają swoje zastosowania.

Warto zaznaczyć granicę. Spójność UA i konfiguracji środowiska ogranicza jeden rodzaj sygnałów narażenia. Czy konto zostanie powiązane przez platformę, zależy też od zasad platformy, relacji między kontami i sposobu użytkowania; konfiguracja środowiska rozwiązuje tylko warstwę samego środowiska.

Najczęstsze pytania
Dlaczego po zainstalowaniu rozszerzenia zmieniającego UA konto jest łatwiej rozpoznać?
Rozszerzenie zmienia zwykle tylko kanał nagłówka żądania, więc skrypt strony i Client Hints nadal widzą oryginalną wartość. Gdy między kanałami pojawia się sprzeczność, to jakby w odczytach widniał zapis "UA zmieniony". Sama sprzeczność jest sygnałem ostrzegawczym i rzuca się w oczy bardziej niż brak zmian.
Czy im nowszy numer wersji UA, tym lepiej?
Wystarczy, że wersja mieści się w popularnym zakresie rynku docelowego. Wersja nowsza niż najnowsza albo cofnięta o kilka lat to sygnały ostrzegawcze. Wersja musi też odpowiadać zachowaniu silnika; samo gonienie za nowością nie ma sensu.
Czy w środowisku desktopowym można użyć mobilnego UA?
Tak, ale rozdzielczość ekranu, obsługa dotyku, pamięć urządzenia i podobne parametry trzeba wtedy razem ustawić pod urządzenie mobilne. Jak te parametry się łączą, konkretnie opisuje artykuł o odcisku palca rozdzielczości ekranu i rozmiaru okna.
Na stronie testowej UA wygląda spójnie, więc wszystko jest w porządku?
Odczyty stron testowych obejmują głównie parametry dostępne dla skryptu strony; cechy warstwy transportowej i część szczegółów Client Hints nie zawsze wchodzą do odczytu. Pewniej wyciągnąć wniosek po przejściu wszystkich pięciu punktów porównawczych.
Podsumowanie
Celem sprawdzania UA jest to, by trzy kanały i całe środowisko nawzajem się zgadzały. Kanały nie przeczą sobie, deklaracja zgadza się ze zmierzonymi parametrami sprzętowymi, regionalna kombinacja trzyma się razem, a zakres wersji wygląda normalnie. Przejdź pięć punktów po kolei, a większość słabości na poziomie UA wyłapiesz, zanim środowisko ruszy. Kontrola przed startem kosztuje najmniej.
Przepuszczenie nowego środowiska przez tę kontrolę przed wpuszczeniem konta oszczędza wiele więcej niż powrót do zmiany UA po pojawieniu się weryfikacji. Jeśli chcesz zarządzać środowiskami według tego procesu, pobierz MostMate i od wyboru systemu przez konfigurację proxy po weryfikację podglądu odcisku palca ustaw UA i całe środowisko za jednym razem.
MOSTMATE
Bezpieczne zarządzanie wieloma kontami, bez komplikacji
Zacznij od pierwszego konta i z MostMate buduj bezpieczniejsze, inteligentniejsze i wydajniejsze operacje obejmujące wiele kont.
- Niezależne profile. Spójne tożsamości.
- Automatyzacja AI · Kondycja kont · Praca zespołowa



