Słownik · Fingerprinting
Canvas fingerprinting
Identyfikowanie urządzenia na podstawie drobnych różnic w sposobie renderowania rysunku na elemencie HTML canvas.
Definicja
Canvas fingerprinting to technika, w której strona rysuje tekst lub kształty za pomocą HTML Canvas API i odczytuje powstałe piksele. Ponieważ renderowanie zależy od procesora GPU, sterownika grafiki, czcionek i wygładzania krawędzi (anti-aliasing), wynik może się nieznacznie różnić między urządzeniami, a jego skrót (hash) staje się jednym z sygnałów odcisku palca.
Jak to działa
- Skrypt tworzy element canvas (często niewidoczny) i rysuje tekst, emoji, gradienty lub kształty przy użyciu kontekstu 2D.
- Odczytuje wynik za pomocą metod takich jak toDataURL(), która zwraca obraz jako adres URL danych, lub getImageData().
- Dane pikseli są hashowane. Identyczne konfiguracje mają tendencję do generowania identycznych skrótów; różne sprzęty lub stosy czcionek często tego nie robią.
Dlaczego to ma znaczenie
- Nie wymaga prośby o uprawnienia i działa bez plików cookie, dlatego jest szeroko stosowany przez skrypty śledzące i antyfraudowe.
- Jest to jeden z sygnałów, które przeglądarki antidetect i przeglądarki skoncentrowane na prywatności starają się kontrolować, albo poprzez zapewnienie spójności wyniku, albo poprzez dodawanie szumu.
Ograniczenia i powszechne błędne przekonania
- "Sam Canvas mnie identyfikuje". To tylko jeden sygnał; zazwyczaj jest on łączony z innymi, takimi jak WebGL, czcionki i dane ekranu.
- "Dodawanie losowego szumu jest niewidoczne". Szum, który zmienia się przy każdym odczycie, może zostać sam wykryty poprzez dwukrotne narysowanie tego samego obrazu i porównanie go.
Przykład: Narysowanie tego samego zdania tą samą czcionką na laptopie ze zintegrowaną grafiką i na komputerze stacjonarnym z dedykowanym procesorem GPU może spowodować różnice w pikselach niewidoczne dla oka, ale inne po zhashowaniu.
Żadna przeglądarka ani proxy nie może zagwarantować, że konta nie zostaną ograniczone. Przestrzegaj zasad każdej platformy.
Powiązane terminy
- Fingerprint przeglądarki — Kombinacja cech przeglądarki i urządzenia, która może zidentyfikować przeglądarkę bez plików cookie.
- Fingerprinting WebGL — Wykorzystywanie informacji o grafice WebGL i wyników renderowania do identyfikacji urządzenia.
Powiązane przewodniki
Źródła
- MDN: Canvas API (dokumentacja przeglądarki)
- MDN: HTMLCanvasElement.toDataURL() (dokumentacja przeglądarki)
- W3C: Łagodzenie skutków fingerprintingu przeglądarki w specyfikacjach internetowych (standard)
Sprawdzono 2026-11-07.