JavaScript-fingeraftryk og bot-registrering: Sådan identificerer hjemmesider dig
Vigtige pointer
- JavaScript-fingeraftryk indsamler 50+ browseregenskaber for at skabe en unik identifikator, mere vedholdende end cookies og sværere at blokere.
- Centrale fingeraftrykssignaler inkluderer Canvas, WebGL, AudioContext, skrifttyper, skærmegenskaber og navigator-API-data.
- Anti-bot-systemer kombinerer JS-fingeraftryk med TLS-fingeraftryk (JA3/JA4) og adfærdsanalyse for meget præcis bot-registrering.
- Headless-browsere (Puppeteer, Playwright) og automatiseringsværktøjer efterlader registrerbare spor, som fingeraftryk afslører, manglende API'er, identiske output, timing-anomalier.
- Forfalskning af fingeraftryk er muligt, men bliver stadig sværere, anti-bot-systemer bruger konsistenskontroller, der fanger uoverensstemmende forfalskede værdier.
Indholdsfortegnelse
- Hvad er JavaScript-fingeraftryk?
- Sådan fungerer browser-fingeraftryk
- Centrale fingeraftrykssignaler
- TLS-fingeraftryk (JA3/JA4)
- Sådan bruger anti-bot-systemer fingeraftryk
- Registrering af headless-browsere
- Fingeraftryksforfalskning og anti-registrering
- Forsvarsstrategier for hjemmesideejere
- Privatlivsimplikationer
Hver gang du besøger en hjemmeside, afslører din browser stille og roligt snesevis af unikke egenskaber, din skærmopløsning, GPU-model, installerede skrifttyper, lydbehandlingssærheder og den præcise måde, din browser gengiver usynlige canvas-elementer på. Tilsammen skaber disse signaler et browser-fingeraftryk, der er lige så unikt som et menneskeligt fingeraftryk.
Denne teknologi driver moderne bot-registreringssystemer, svindelbeskyttelse og anti-automatiseringsforsvar. At forstå, hvordan det fungerer, er afgørende, uanset om du forsvarer din hjemmeside mod bots eller prøver at forstå, hvorfor visse sikkerhedssystemer udfordrer din trafik.
Den største enkeltstående løftestang for performance i betalte medier i 2026 er kontohygiejne. Ældre konti, rene betalingsinstrumenter og isolerede browserprofiler akkumuleres til en 30 til 50 procents CPAiCost Per Acquisition. Prisen du betaler for én konvertering (salg, tilmelding, lead).Lær mere i ordlisten →-fordel på samme kreative materiale.
Hvad er JavaScript-fingeraftryk?
JavaScript-fingeraftryk er en teknik, der bruger browserbaserede JavaScript-API'er til at indsamle enheds- og miljøegenskaber og dermed skabe en unik identifikator for hver browsersession. I modsætning til cookies (som brugere kan slette) eller IP-adresser (som ændrer sig) er fingeraftryk:
- Vedholdende: Overlever sletning af cookies, privat browsing og genstart af browser
- Unikke: Kombinationen af 50+ signaler skaber fingeraftryk, der er unikke på tværs af millioner af browsere
- Passive: Indsamling sker usynligt uden brugerinteraktion
- Svære at forfalske: Ændring af ét signal skaber ofte registrerbare uoverensstemmelser med andre
Sådan fungerer browser-fingeraftryk
Et fingeraftryksscript kører typisk i tre faser:
- Indsamling: JavaScript-API'er forespørger browseregenskaber, navigator-objektet, skærmegenskaber, canvas-gengivelse, WebGL-kapaciteter, AudioContext-behandling osv.
- Hashing: Indsamlede værdier kombineres og hashes (normalt SHA-256 eller MurmurHash3) til en kompakt fingeraftryksstreng
- Sammenligning: Hashen sammenlignes med kendte fingeraftryk, matchning af en tidligere besøgende, et kendt botværktøj eller et forfalsket miljø
Centrale fingeraftrykssignaler
Canvas-fingeraftryk
Det mest kraftfulde fingeraftrykssignal. Et skjult <canvas>-element tegner tekst, former og gradienter. Pixel-for-pixeliEn lille sporingssnip på din side, der registrerer besøgendes handlinger (sidevisninger, tilføj-til-kurv, køb), så platformen kan optimere.Lær mere i ordlisten →-output varierer baseret på GPU, driverversion, skrifttypegengivelsesmotor og anti-aliasing-implementering. To forskellige enheder producerer næsten aldrig identisk canvas-output.
WebGL-fingeraftryk
WebGL afslører GPU-oplysninger (renderer, leverandør) og producerer unikt gengivelsesoutput. Udvidelsen WEBGL_debug_renderer_info afslører den præcise GPU-model. Kombineret med WebGL-gengivelsestests skaber dette et stærkt hardware-fingeraftryk.
AudioContext-fingeraftryk
Web Audio API'en behandler lydsignaler forskelligt på hver enhed på grund af hardware- og softwareforskelle. Ved at generere en oscillator og analysere outputtet fanger fingeraftryksscripts unikke lydbehandlingsegenskaber.
Skrifttype-fingeraftryk
Forskellige OS-versioner, sprogpakker og installerede applikationer tilføjer unikke skrifttypesamlinger. Ved at måle gengivelsesbredden/-højden af tekst i forskellige skrifttyper bestemmer scripts, hvilke skrifttyper der er installeret, hvilket skaber et skrifttypebaseret fingeraftryk.
Navigator- og skærmegenskaber
| Signal | Hvad det afslører | Entropi |
|---|---|---|
| navigator.userAgent | Browser-version, OS, enhedstype | Mellem (let at forfalske) |
| navigator.language | Foretrukne sprog | Lav-Mellem |
| navigator.hardwareConcurrency | Antal CPU-kerner | Lav |
| navigator.deviceMemory | RAM-mængde (tilnærmet) | Lav |
| screen.width/height | Skærmopløsning | Mellem |
| screen.colorDepth | Farvedybdekapacitet | Lav |
| navigator.platform | OS-platformstreng | Lav (forældet) |
| navigator.maxTouchPoints | Berøringskapacitet | Lav |
| Intl.DateTimeFormat().resolvedOptions().timeZone | Tidszone | Mellem |
Yderligere højværdisignaler
- WebRTC-lækage: Kan afsløre lokale/offentlige IP-adresser selv gennem VPN'er
- Batteri-API: Batteriniveau og opladningsstatus (forældet i de fleste browsere på grund af privatliv)
- Tilladelsestilstande: Om notifikationer, geolokalisering, kamera-tilladelser er givet/afslået
- Client hints: Chromes User-Agent Client Hints giver strukturerede enhedsdata
- CSS-medieforespørgsler: Registrer præference for mørk tilstand, reduceret bevægelse, kontrastpræferencer
TLS-fingeraftryk (JA3/JA4)
TLS-fingeraftryk fungerer på forbindelsesniveau, før noget JavaScript kører:
JA3-fingeraftryk
Skabt af Salesforce hasher JA3 komponenterne i TLS Client Hello-beskeden: SSL-version, chiffer, udvidelser, elliptiske kurver og EC-punktformater. Hver HTTP-klient (Chrome, Firefox, Python requests, Go http, curl) producerer et unikt JA3-hash. Dette identificerer den faktiske klientsoftware, selv når user-agent-headere er forfalskede.
JA4-fingeraftryk
Den nyere JA4-standard forbedrer JA3 med et mere læsbart format og bedre versionssporing. Den skaber en fingeraftryksstreng som "t13d1715h2_8daaf6152771_b0da82dd1658", der koder TLS-version, chifferantal, udvidelsesantal og ALPN-værdier.
Sådan bruger anti-bot-systemer fingeraftryk
Moderne anti-bot-løsninger som Cloudflare Bot Management, Akamai Bot Manager og DataDome kombinerer fingeraftryk med flere registreringslag:
- TLS-fingeraftrykskontrol: Bekræft, at forbindelsen kommer fra en rigtig browser, ikke et HTTP-bibliotek
- JavaScript-udførelse: Kør fingeraftryksindsamlingsscripts, bots, der ikke kan udføre JS, flagges straks
- Konsistensvalidering: Tjek, at JS-fingeraftrykket matcher TLS-fingeraftrykket (f.eks. hvis JA3 siger Chrome, men canvas siger headless, flag det)
- Sammenligning med kendte bots: Sammenlign fingeraftryk mod database med kendte botværktøjssignaturer
- Adfærdsoverlejring: Kombiner fingeraftryksscore med musebevægelser, kliktiming og rullemønstre
Registrering af headless-browsere
Headless-browsere (Chrome headless, Puppeteer, Playwright) efterlader afslørende spor:
- navigator.webdriver: Sættes til
truei automatiserede browsere (kan forfalskes, men registreres via prototype-kontroller) - Manglende chrome-objekt:
window.chromemangler eller er ufuldstændigt i headless Chrome - Plugin-antal: Ægte Chrome rapporterer plugins; headless Chrome rapporterer typisk nul
- WebGL-leverandørmismatch: Headless-miljøer rapporterer ofte "Google Inc. (Google SwiftShader)", en software-renderer
- Notifikationstilladelse: Headless-browsere kan ikke anmode om notifikationstilladelse, hvilket afslører dem gennem API-adfærd
- Iframe contentWindow: Headless Chrome håndterer cross-origin iframe-adgang anderledes
- Timing-anomalier: Automatiserede browsere udfører JavaScript med umenneskelig hastighed eller perfekt konsistent timing
Fingeraftryksforfalskning og anti-registrering
Flere værktøjer forsøger at ændre browser-fingeraftryk:
| Værktøj | Tilgang | Registreringsrisiko |
|---|---|---|
| GoLogin | Brugerdefineret Chromium med konfigurerbare fingeraftryksprofiler | Mellem |
| Multilogin | Efterligner browser med dyb fingeraftrykstilpasning | Mellem |
| Puppeteer Extra (Stealth) | Plugin, der lapper registrerbare Puppeteer-artefakter | Mellem-Høj |
| undetected-chromedriver | Modificeret ChromeDriver, der undgår almindelige registreringer | Mellem-Høj |
| Browserudvidelser | Canvas-blokering, WebGL-forfalskning | Høj (tilføjer registrerbare artefakter) |
Forsvarsstrategier for hjemmesideejere
Hvis du beskytter din hjemmeside mod bots, implementer fingeraftryk som en del af et lagdelt forsvar:
- Brug en administreret løsning: Cloudflare, Akamai eller DataDome håndterer fingeraftryk i stor skala
- Kombiner med hastighedsbegrænsning: Fingeraftryk identificerer bots; hastighedsbegrænsning begrænser deres påvirkning
- Tilføj adfærdsanalyse: Fingeraftryk + musesporing + kliktiming = omfattende registrering
- Implementer på DDoS-beskyttet infrastruktur: Fingeraftryk kører på applikationslaget, du har også brug for netværksniveau DDoS-beskyttelse
- Opdater registrering regelmæssigt: Botværktøjer udvikler sig; din registrering skal udvikle sig hurtigere
Privatlivsimplikationer
Browser-fingeraftryk rejser betydelige privatlivsproblemer. Store browsere begrænser i stigende grad fingeraftrykskapaciteter:
- Firefox: Tilbyder fingeraftryksmodstandstilstand, der normaliserer canvas-, WebGL- og andre output
- Safari: Begrænser canvas-tilbagelæsning og begrænser skrifttypeopregning
- Chrome: Reducerer user-agent-oplysninger gennem Client Hints og Privacy Sandbox
- GDPR/Privatlivslove: Fingeraftryk kan udgøre indsamling af personoplysninger, der kræver samtykke i EU
Beskyt din hjemmeside mod bot-angreb
Vores sikkerhedsteam implementerer omfattende bot-registrering, fingeraftryk, DDoS-beskyttelse og WAF-konfiguration til hjemmesider og applikationer under angreb.
Telegram: @unlednetwork → Skriv til os på WhatsApp →
Kommentarer
Har du et spørgsmål eller egen erfaring? Deltag i samtalen. Din e-mail vises aldrig.
We implemented this last month and already seeing positive signals.
Appreciate you sharing this. We've refined our playbook for exactly this scenario and it aligns with the article.