Welche Techniken zur Manipulation von HTTP-Header-Feldern (z.B. `Sec-Ch-Ua`) sind notwendig, um Client Hints konsistent zu halten?

Um Client Hints konsistent zu halten, ist eine präzise Synchronisation zwischen dem User-Agent String und den Sec-CH-UA-Headern erforderlich. Moderne Browser senden Geräteinformationen nicht mehr ausschließlich in einem einzigen String, sondern aufgeteilt in spezifische Header-Felder. Wenn ein Request einen Chrome-User-Agent verwendet, aber die Client Hints fehlen oder zu einem anderen Browser passen, erkennt das Backend diese Inkonsistenz als Signal für eine automatisierte Abfrage.

Die folgenden Header-Felder müssen synchronisiert werden:

HeaderBeschreibungBeispielwert
Sec-CH-UABrowser-Name und Version"Google Chrome";v="120", "Chromium";v="120", "Not.A.Brand";v="24"
Sec-CH-UA-MobileIndikator für mobile Geräte?0 (Desktop) oder ?1 (Mobile)
Sec-CH-UA-PlatformBetriebssystem"Windows" oder "macOS"

Zur technischen Umsetzung nutzen wir Request-Interzeptoren auf Netzwerkebene oder innerhalb von Headless-Browser-Frameworks wie Playwright oder Puppeteer. Dabei wird ein Mapping-Schema implementiert, das jedem gewählten User-Agent die korrespondierenden Client-Hint-Werte zuordnet.

Ein kritischer Punkt ist die Reaktion auf den Accept-CH Header des Servers. Der Server teilt dem Client mit, welche Hints er für die Antwort benötigt. Ein konsistenter Client muss diese Informationen im darauffolgenden Request liefern. Die Manipulation erfolgt hier über das manuelle Setzen der Header in der Request-Konfiguration, bevor der Request abgeschickt wird.

Im Rahmen unserer IT-Consulting & Digitale Strategie implementieren wir solche Logiken oft über Middleware-Layer, die die Header-Konsistenz automatisiert prüfen und korrigieren, um Detektionsmechanismen zu umgehen.

Die bloße Manipulation von Header-Strings reicht nicht aus, da moderne Anti-Bot-Systeme zusätzlich den TLS-Fingerprint und die HTTP/2-Frame-Einstellungen prüfen. Wer Client Hints manipuliert, ohne gleichzeitig den TLS-Handshake an die behauptete Browser-Version anzupassen, erzeugt ein eindeutiges Signal für eine Manipulation. Wir empfehlen daher, statt einfacher Header-Manipulation auf komplette Browser-Emulationen zu setzen, die die gesamte Netzwerk-Stack-Signatur konsistent abbilden.

Sergej Wiens

Sergej Wiens

Gründer & Software Architekt