Sözlük · Parmak izi alma
WebGL parmak izi alma
Bir cihazı tanımlamak için WebGL grafik bilgilerini ve işleme çıktısını kullanmak.
Tanım
WebGL parmak izi, cihaza özgü sinyalleri toplamak için WebGL API'yi — GPU hızlandırmalı 2D ve 3D grafikleri için tarayıcı arayüzü — kullanır: grafik satıcısı ve işleyici dizeleri, desteklenen parametreler ve uzantılar ve işlenen bir sahnenin pikselleri.
Nasıl çalışır
- Bir betik, bir WebGL bağlamı açar ve getParameter() ile yetenekleri ve desteklenen uzantıların listesini sorgular.
- Mevcut olduğunda, WEBGL_debug_renderer_info uzantısı UNMASKED_VENDOR_WEBGL ve UNMASKED_RENDERER_WEBGL — grafik sürücüsünün satıcı ve işleyici dizgelerini — açığa çıkarır.
- Ayrıca, canvas parmak izi oluşturmaya benzer şekilde bir 3D sahnesi işleyebilir ve sonucu karma (hash) haline getirebilir.
Neden önemlidir
- GPU ayrıntıları zaman içinde sabittir ve cihazlar arasında farklılık gösterir, bu da onları güçlü bir sinyal haline getirir.
- Uyumsuzluklar önemlidir: Mac olduğunu iddia ederken yalnızca Windows-özel bir GPU sürücü dizgisi bildiren bir profili işaretlemek kolaydır.
Sınırlar ve yaygın yanlış inanışlar
- "Her site her zaman GPU modelimi okuyabilir." MDN, tarayıcı gizlilik ayarlarına bağlı olarak, hata ayıklama uzantısının ayrıcalıklı bağlamlarla sınırlanabileceğini veya hiç çalışmayabileceğini belirtir; Firefox'nin privacy.resistFingerprinting özelliği etkinleştirildiğinde bu devre dışı bırakılır.
- "WebGL'i devre dışı bırakmak beni görünmez kılar." Bunu kapatmak, kendi başına nadir ve fark edilebilir bir özelliktir ve buna ihtiyaç duyan siteleri bozar.
Örnek: Maskelenmemiş işleyici dizgisini okuyan bir sayfa, ekran boyutu ve yazı tipleriyle birlikte belirli bir GPU ve sürücü ailesini görebilir, bu da cihazı önemli ölçüde daraltır.
Hiçbir tarayıcı veya proxy, hesapların kısıtlanmayacağını garanti edemez. Her platformun kurallarına uyun.
İlgili terimler
- Canvas parmak izi alma — Bir HTML canvas çizimini işleme biçimindeki küçük farklardan bir cihazı tanımlama.
- Tarayıcı parmak izi — Çerezler olmadan bir tarayıcıyı tanımlayabilen tarayıcı ve cihaz özelliklerinin bir kombinasyonu.
İlgili kılavuzlar
Kaynaklar
- MDN: WebGL API (tarayıcı dokümanları)
- MDN: WEBGL_debug_renderer_info uzantısı (tarayıcı dokümanları)
Kontrol edilen 2026-11-07.