Canvas ve WebGL Parmak İzi: 2026'da Derinlemesine Teknik İnceleme

Canvas ve WebGL parmak izi, GPU+driver+farklarıyla tarayıcıyı nasıl tanımlar? Naif gürültü enjeksiyonu neden geri teper ve yasal otomasyon için tutarlı cihaz profili nasıl oluşturulur? ProxyHat rehberi.

Canvas and WebGL Fingerprinting Deep-Dive: 2026 Guide for Automation Engineers
Bu makalede

2026'da bir tarayıcıyı tanımlamak artık sadece IP adresi veya User-Agent ile bitmiyor. Modern anti-bot sistemleri, canvas ve WebGL parmak izi tekniklerini kullanarak GPU seviyesinde cihaz kimliği oluşturuyor. En iyi 1.000 sitenin %30'undan fazlası bu yöntemleri aktif olarak kullanıyor. Bu rehberde, canvas fingerprinting ve webgl renderer fingerprint sinyallerinin nasıl çalıştığını, naif spoofing girişimlerinin neden geri teptiğini ve yasal otomasyon için ProxyHat residential proxy'lerle nasıl tutarlı, inandırıcı bir cihaz profili oluşturulacağını inceleyeceğiz.

Canvas Parmak İzi Nasıl Çalışır: GPU+Driver+Font Rendering Farkları

Canvas parmak izi, tarayıcının 2D çizim API'sini kullanarak offscreen bir canvas üzerine metin, şekil ve gradient çizer, ardından pikselleri okuyarak benzersiz bir hash üretir. Bu süreç, üç değişkene duyarlıdır:

  • GPU ve sürücü: Farklı GPU'lar (NVIDIA, AMD, Intel) anti-aliasing ve subpixel rendering algoritmalarını farklı uygular. Aynı metin, farklı GPU'larda farklı piksel dizilimleri üretir.
  • İşletim sistemi ve font rendering engine: Windows DirectWrite, macOS CoreText ve Linux FreeType aynı fontu farklı rasterize eder. Bu, piksel seviyesinde tespit edilebilir.
  • Yüklü fontlar: Sistemde bulunan fontların kullanımı, canvas çiziminde farklı glyph seçimlerine yol açar.

Tipik bir canvas fingerprinting akışı şu şekildedir:

// Tarayıcı tarafında canvas parmak izi oluşturma
const canvas = document.createElement('canvas');
canvas.width = 240;
canvas.height = 60;
const ctx = canvas.getContext('2d');

// Metin ve şekiller çiz
ctx.textBaseline = 'top';
ctx.font = "14px 'Arial'";
ctx.fillStyle = '#f60';
ctx.fillRect(125, 1, 62, 20);
ctx.fillStyle = '#069';
ctx.fillText('Canvas fingerprinting test 🎨', 2, 15);
ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';
ctx.fillText('Canvas fingerprinting test 🎨', 4, 17);

// Pikselleri oku ve hash üret
const dataUrl = canvas.toDataURL();
const hash = sha256(dataUrl);
console.log('Canvas hash:', hash);

toDataURL() veya getImageData() ile okunan pikseller, GPU'nun anti-aliasing uygulamasından geçer. İki farklı makinede aynı kodu çalıştırdığınızda, pikseller arasındaki fark genellikle 1-3 bit seviyesindedir ama bu, milyonlarca olası kombinasyondan birini belirlemek için yeterlidir. MDN Web Docs, canvas API'nin piksel seviyesinde tutarlılık garantisi vermediğini belirtir — bu da parmak izi için ideal bir yüzey oluşturur.

Araştırmacılar, canvas parmak izinin entropy'sinin 5.5 ila 18 bit arasında değiştiğini ölçmüştür. Bu, tek başına milyonlarca cihazı ayırt etmeye yetmez ancak diğer sinyallerle birleştiğinde (font listesi, ekran çözünürlüğü, timezone) güçlü bir kimlik oluşturur. Wikipedia'ya göre, bu teknik ilk kez 2012'de Princeton ve KU Leuven araştırmacıları tarafından belgelenmiştir.

WebGL Parmak İzi: UNMASKED_VENDOR/RENDERER ve Shader Precision

WebGL, canvas'tan daha derin bir GPU sinyali sunar. WebGL parmak izi üç ana vektörden oluşur:

1. UNMASKED_VENDOR ve UNMASKED RENDERER String'leri

WebGL debugging extension'ı WEBGL_debug_renderer_info üzerinden erişilen iki string, GPU üreticisini ve modelini doğrudan ifşa eder:

const gl = canvas.getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');

const vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);

console.log('Vendor:', vendor);   // örn: 'NVIDIA Corporation'
console.log('Renderer:', renderer); // örn: 'NVIDIA GeForce RTX 4070/PCIe/SSE2'

Bu string'ler, GPU'nun tam modelini ifşa eder. Bir headless tarayıcı veya sanal makine genellikle 'Google SwiftShader' veya 'Mesa' gibi yazılımsal renderer'lar döndürür — bu, gerçek bir masaüstü kullanıcısından anında ayırt edilebilir.

2. Shader Precision Format

Her GPU, floating-point işlemlerinde farklı precision değerleri döndürür:

const precision = gl.getShaderPrecisionFormat(
  gl.FRAGMENT_SHADER, gl.HIGH_FLOAT
);
console.log('Min:', precision.rangeMin);  // GPU'ya göre değişir
console.log('Max:', precision.rangeMax);  // örn: 127
console.log('Precision:', precision.precision); // örn: 23

Bu değerler GPU mimarisine bağlıdır ve sahtelenmesi zordur çünkü gerçek GPU davranışıyla tutarlı olmalıdır.

3. Floating-Point Quirks

Farklı GPU'lar, aynı shader kodunda farklı floating-point yuvarlama davranışları sergiler. Bir sahne render edildiğinde, NVIDIA ve AMD GPU'ları piksel bazında farklı sonuçlar üretir. Bu, WebGL renderer fingerprint'inin en güçlü ama en az bilinen vektörüdür.

SinyalEntropy (bit)Spoofing ZorluğuTespit Oranı
Canvas hash5.5–18Orta%30+ siteler
WebGL UNMASKED_RENDERER8–12Düşük (string değiştirme)%25–40
Shader precision3–6Yüksek%15–25
WebGL floating-point render10–20Çok yüksek%10–20

Naif Gürültü Enjeksiyonu Neden Geri Teper

2026'da canvas fingerprint spoofing için en yaygın naif yaklaşım, her toDataURL() çağrısında rastgele piksel gürültüsü eklemektir. Bu, 2020'lerin başında işe yarıyordu ama modern ML tabanlı dedektörler karşısında felaketle sonuçlanır.

Sorun şu: Gerçek bir tarayıcı, aynı canvas çizimini her zaman aynı piksel dizilimini üretir. Gürültü eklerseniz, her çağrı farklı bir hash döndürür. 2026 ML dedektörleri, bir sahneyi tekrar tekrar render eder ve hash tutarlılığını kontrol eder. Eğer 5 çağrıdan 5 farklı hash alırlarsa, bu bot sinyali olarak işaretlenir — çünkü hiçbir gerçek tarayıcı bu davranışı sergilemez.

Rastgele gürültü, rastgele bir hash üretir. Rastgele hash'ler, tutarlı hash'lerden daha şüphelidir çünkü gerçek cihazlar deterministiktir.

Doğru yaklaşım, seeded ve tutarlı spoofing'tir: Her cihaz profili için sabit bir seed kullanın ve aynı seed her zaman aynı hash'i üretsin. Bu, gerçek bir GPU'nun deterministik davranışını taklit eder.

// YANLIŞ: Her çağrıda rastgele gürültü
function badSpoofCanvas(canvas) {
  const ctx = canvas.getContext('2d');
  const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
  for (let i = 0; i < imageData.data.length; i += 4) {
    imageData.data[i] += Math.random() * 2 - 1; // rastgele!
  }
  ctx.putImageData(imageData, 0, 0);
  return canvas.toDataURL();
}

// DOĞRU: Seed tabanlı, tutarlı gürültü
function goodSpoofCanvas(canvas, deviceSeed) {
  const ctx = canvas.getContext('2d');
  const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
  const rng = mulberry32(deviceSeed); // deterministik PRNG
  for (let i = 0; i < imageData.data.length; i += 4) {
    imageData.data[i] += rng() * 2 - 1; // aynı seed = aynı gürültü
  }
  ctx.putImageData(imageData, 0, 0);
  return canvas.toDataURL();
}

İkinci yaklaşımda, aynı deviceSeed ile her çağrı aynı hash'i üretir. Bu, gerçek bir GPU'nun davranışıyla tutarlıdır. Anti-bot sistemi sahne render'ını tekrarladığında, aynı hash'i alır ve profili tutarlı bulur.

Residential Proxy'ler Neden Kritik: IP İtibarı ve Cihaz Hikayesi

Mükemmel bir cihaz profili — tutarlı canvas hash'i, doğru WebGL renderer string'i, gerçekçi shader precision değerleri — tek başına yeterli değildir. Eğer IP adresiniz bir datacenter bloğundan geliyorsa, anti-bot sistemi cihaz profiliniz ne kadar mükemmel olursa olsun sizi şüpheli olarak işaretler.

Neden? Çünkü bir datacenter IP'sinden gelen bir istek, NVIDIA GeForce RTX 4070 renderer'ı bildirmek mantıklı değildir. Datacenter IP'leri genellikle sunuculardan gelir ve sunucularda GPU bulunmaz. Bu, cihaz hikayesi ile ağ kimliği arasındaki tutarsızlıktır.

Residential proxy'ler bu sorunu çözer çünkü:

  • Gerçek bir ISP'den gelen IP adresi, gerçek bir ev kullanıcısının cihaz profiliyle tutarlıdır.
  • IP reputation skoru datacenter IP'lerinden çok daha yüksektir.
  • Coğrafi konum, cihaz profilindeki timezone ve dil ile eşleşebilir.

ProxyHat residential proxy'leri, 195+ ülkede gerçek ISP IP'leri sunar. Bu, cihaz hikayesi ile ağ kimliği arasındaki boşluğu kapatır. ProxyHat lokasyon sayfasını inceleyerek hedef bölgenizdeki IP bulunabilirliğini kontrol edebilirsiniz.

Çalışan Yaklaşım: ProxyHat Residential + Stealth Browser

Yasal otomasyon için çalışan yaklaşım, ProxyHat residential exit'lerini seed tabanlı stealth browser ile eşleştirmektir. İşte adım adım bir kurulum:

1. ProxyHat Residential Proxy Yapılandırması

ABD, New York lokasyonundan residential IP kullanarak başlayalım:

# HTTP proxy - ABD New York residential exit
curl -x http://user-country-US-city-newyork:pass@gate.proxyhat.com:8080 \
  https://httpbin.org/ip

# SOCKS5 proxy (HTTP/2 ve WebSocket için)
curl -x socks5://user-country-US-city-newyork:pass@gate.proxyhat.com:1080 \
  https://httpbin.org/ip

Python'da requests ile:

import requests

proxies = {
    'http': 'http://user-country-US-city-newyork:pass@gate.proxyhat.com:8080',
    'https': 'http://user-country-US-city-newyork:pass@gate.proxyhat.com:8080'
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())  # {'origin': '72.x.x.x'} — gerçek ISP IP'si

2. Sticky Session ile Tutarlı IP

Cihaz profili tutarlı olduğu gibi, IP adresi de tutarlı olmalıdır. Her istekte IP değişmesi, gerçek bir kullanıcının davranışıyla uyuşmaz:

# Sticky session — aynı IP'yi 30 dakika boyunca koru
proxies = {
    'http': 'http://user-session-qa-test-001-country-US-city-newyork:pass@gate.proxyhat.com:8080',
    'https': 'http://user-session-qa-test-001-country-US-city-newyork:pass@gate.proxyhat.com:8080'
}

Burada session-qa-test-001 flag'i, ProxyHat'in aynı residential IP'yi bu oturum boyunca korumasını sağlar. Bu, gerçek bir kullanıcının tek bir IP'den gezinmesini taklit eder.

3. Stealth Browser ile Eşleştirme

Playwright veya Puppeteer ile stealth browser kurulumu, canvas ve WebGL spoofing'i browser seviyesinde yapılmalıdır:

from playwright.sync_api import sync_playwright
import subprocess

# ProxyHat residential proxy ayarları
proxy_config = {
    'server': 'http://gate.proxyhat.com:8080',
    'username': 'user-session-qa-test-001-country-US-city-newyork',
    'password': 'pass'
}

with sync_playwright() as p:
    browser = p.chromium.launch(
        headless=False,
        proxy=proxy_config,
        args=[
            '--disable-blink-features=AutomationControlled',
            '--use-gl=angle',  # Gerçek GPU rendering
        ]
    )
    context = browser.new_context(
        viewport={'width': 1920, 'height': 1080},
        locale='en-US',
        timezone_id='America/New_York',
        user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                   'AppleWebKit/537.36 (KHTML, like Gecko) '
                   'Chrome/121.0.0.0 Safari/537.36'
    )
    
    # Canvas/WebGL spoofing script'i inject et
    # (Stealth browser kütüphanesi kullanın — örn: playwright-stealth)
    page = context.new_page()
    page.goto('https://browserleaks.com/canvas')
    canvas_hash = page.evaluate('''() => {
        const c = document.createElement('canvas');
        const ctx = c.getContext('2d');
        ctx.fillText('test', 10, 10);
        return c.toDataURL().substring(0, 50);
    }''')
    print(f'Canvas hash (tutarlı): {canvas_hash}')
    
    browser.close()

4. Tutarlılık Kontrolü

Otomasyon akışınızı test ederken, canvas hash'inin tutarlı olduğunu doğrulayın:

# Aynı sayfada 5 kez canvas hash'i al ve karşılaştır
hashes = []
for i in range(5):
    h = page.evaluate('''() => {
        const c = document.createElement('canvas');
        c.width = 200; c.height = 50;
        const ctx = c.getContext('2d');
        ctx.font = '16px Arial';
        ctx.fillText('Consistency test', 5, 25);
        return c.toDataURL();
    }''')
    hashes.append(h)

# Tüm hash'ler aynı olmalı
assert len(set(hashes)) == 1, 'Hash tutarsız! Spoofing sinyali.'
print(f'5/5 çağrı tutarlı: {hashes[0][:40]}...')

Bu test, 5 çağrının da aynı hash'i döndürdüğünü doğrular. Eğer hash'ler farklıysa, anti-bot sistemi bunu bir bot sinyali olarak algılar.

JA3/JA4 ve TLS Parmak İzi: Ek Bir Katman

Canvas ve WebGL parmak izi, tarayıcı seviyesindeki sinyallerdir. Ancak anti-bot sistemleri, ağ seviyesinde de parmak izi alır. JA3/JA4, TLS handshake sırasındaki cipher suite sıralamasını hash'leyerek istemciyi tanımlar.

Headless Chrome'un JA3 hash'i, normal Chrome'dan farklıdır çünkü headless modu farklı TLS kütüphaneleri kullanabilir. Bu, canvas hash'i ne kadar mükemmel olursa olsun, TLS seviyesinde tespit edilebileceğiniz anlamına gelir.

Çözüm: Stealth browser kullanın ve TLS parmak izinin de hedef tarayıcıyla eşleştiğinden emin olun. Bazı gelişmiş araçlar, JA3 hash'ini gerçek Chrome'un hash'iyle eşleşecek şekilde ayarlamanıza izin verir.

Yaygın Hatalar ve Edge Case'ler

Hata 1: WebGL Renderer'ı Gerçek Olmayan Değerle Değiştirmek

UNMASKED_RENDERER_WEBGL'i 'NVIDIA GeForce RTX 4090' olarak ayarlamak, eğer cihaz profilinizin geri kalanı düşük uçlu bir makineyi gösteriyorsa, tutarsızlık yaratır. Renderer string'i, cihaz profilinin geri kalanıyla (CPU, RAM, ekran çözünürlüğü) uyumlu olmalıdır.

Hata 2: Session Başına Yeni Cihaz Profili

Her proxy session'da yeni bir cihaz profili oluşturmak, gerçek kullanıcının davranışına aykırıdır. Bir kullanıcı, bir oturum boyunca aynı cihazdan gezinir. Cihaz profili, IP değişse bile (örneğin mobil cihaz WiFi'den hücresel ağa geçtiğinde) tutarlı kalmalıdır.

Hata 3: Font Listesini Canvas ile Eşleştirmemek

Canvas parmak izi, sistem fontlarını kullanır. Eğer font listenizde 'Calibri' varsa (Windows varsayılanı) ama canvas hash'iniz macOS CoreText rendering'ini gösteriyorsa, bu tutarsızlık tespit edilir. Font listesi, işletim sistemi ve canvas rendering ile uyumlu olmalıdır.

Hata 4: Anti-Bot Sistemini Test Etmek İçin Aşırı İstek

Otomasyonunuzu test ederken, tek bir IP'den saniyede 50+ istek göndermek, IP'yi anında rate limit'e sokar. ProxyHat ile 100 concurrent session'a kadar çıkabilirsiniz ama her session'ın hızını gerçek kullanıcı davranışına yakın tutun: saniyede 1-2 istek, sayfalar arası 2-5 saniye bekleme.

Uygun Kullanım ve Yasal Çerçeve

Canvas fingerprint spoofing ve WebGL renderer fingerprint manipülasyonu, yasal olarak iki bağlamda kullanılır:

  1. Yetkili QA ve güvenlik araştırması: Kendi uygulamanızın anti-bot sistemini test etmek, müşteri izniyle penetration testing yapmak.
  2. Yasal otomasyon: Halka açık verileri toplayan, robots.txt'ye saygı gösteren ve hedef sitenin ToS'nu ihlal etmeyen otomasyon.

Bu teknikleri asla dolandırıcılık, sahte hesap oluşturma, adware dağıtımı veya izleme karşıtı kötü niyetli amaçlar için kullanmayın. ABD'de Computer Fraud and Abuse Act (CFAA) ve Avrupa'da GDPR, bir sistemin yetkisiz erişimini ve kullanıcı gizliliğinin ihlalini cezai suç olarak tanımlar. CFAA kapsamında, bir sitenin ToS'nu ihlal ederek erişim elde etmek federal suç olabilir.

ProxyHat proxy'lerini kullanırken, ProxyHat dokümantasyonunu inceleyin ve kabul edilebilir kullanım politikasına uyun. ProxyHat, yalnızca yasal ve etik kullanım için tasarlanmıştır.

ProxyHat Kurulumu ve İç Kaynaklar

ProxyHat residential proxy'leri, canvas ve WebGL parmak izi spoofing'i ile eşleştirildiğinde en iyi sonucu verir. İşte hızlı başlangıç:

ÖzellikResidentialDatacenterMobile
IP İtibarıYüksek (gerçek ISP)DüşükÇok yüksek
Canvas/WebGL uyumuMükemmelZayıf (datacenter GPU yok)İyi
HızOrta (50-200ms)Yüksek (<50ms)Değişken
Anti-bot geçişi%90+ başarı%40-60%85+

Residential proxy'ler, canvas fingerprint spoofing ile en yüksek uyumu sunar çünkü datacenter IP'lerinin aksine, gerçek bir ev kullanıcısının cihaz profiliyle tutarlıdır. ProxyHat fiyatlandırma sayfasından residential paketleri inceleyebilirsiniz.

İlgili kaynaklar:

Önemli Çıkarımlar

Canvas ve WebGL parmak izi, 2026'da anti-bot sistemlerinin temel taşıdır. Naif gürültü enjeksiyonu, ML dedektörleri tarafından anında tespit edilir. Doğru yaklaşım: seeded ve tutarlı cihaz profili + residential proxy ile ağ kimliği uyumu. Yasal kullanım, QA ve güvenlik araştırması ile sınırlıdır.

  • Canvas parmak izi, GPU+driver+font rendering farklarını hash'leyerek 5.5-18 bit entropy üretir.
  • WebGL UNMASKED_RENDERER string'i, GPU'nun tam modelini ifşa eder (örn: 'NVIDIA GeForce RTX 4070').
  • Rastgele gürültü, her çağrıda farklı hash üretir ve bot sinyali olarak işaretlenir. Seed tabanlı tutarlı spoofing kullanın.
  • Datacenter IP + yüksek uçlu GPU renderer'ı = tutarsızlık. Residential proxy kullanın.
  • ProxyHat residential exit'leri (gate.proxyhat.com:8080) ile stealth browser eşleştirmesi, en yüksek anti-bot geçiş oranını sunar.
  • CFAA ve GDPR kapsamında, bu teknikleri yalnızca yasal ve yetkili amaçlar için kullanın.

Sıkça Sorulan Sorular

Canvas ve WebGL parmak izi nedir?

Canvas ve WebGL parmak izi, tarayıcının GPU seviyesindeki rendering davranışını kullanarak cihazı tanımlama teknikleridir. Canvas, 2D çizim API'siyle metin ve şekiller çizip pikselleri hash'ler; WebGL ise GPU üreticisini, modelini ve shader precision değerlerini ifşa eder. En iyi 1.000 sitenin %30'undan fazlası bu teknikleri kullanır.

Canvas ve WebGL parmak izi proxy kullanıcıları için neden önemli?

Anti-bot sistemleri, IP adresi ile cihaz profilini birlikte değerlendirir. Mükemmel bir cihaz profili, datacenter IP'sinden gelirse tutarsızlık olarak işaretlenir. Proxy kullanıcıları, cihaz profiliyle uyumlu bir ağ kimliği (residential IP) kullanmalıdır, aksi halde parmak izi spoofing'i IP reputation kontrolünde başarısız olur.

Canvas ve WebGL parmak izi için en iyi proxy tipi hangisidir?

Residential proxy'ler, canvas ve WebGL parmak izi spoofing'i için en iyi seçenektir. Gerçek ISP IP'leri, gerçek bir ev kullanıcısının cihaz profiliyle (GPU, font, işletim sistemi) tutarlıdır. Datacenter IP'leri genellikle GPU içermez ve 'SwiftShader' gibi yazılımsal renderer'larla eşleşir. Mobile proxy'ler de iyi bir alternatiftir ancak mobil GPU profilleri farklıdır.

Canvas ve WebGL parmak izi uygulamasında blokları nasıl önlersiniz?

Üç temel kural: (1) Rastgele değil, seeded ve tutarlı canvas hash'leri kullanın — her çağrı aynı hash'i döndürmeli. (2) WebGL renderer string'i, cihaz profilinin geri kalanıyla (font listesi, timezone, ekran çözünürlüğü) uyumlu olmalı. (3) Residential proxy ile sticky session kullanın, böylece IP adresi cihaz hikayesiyle tutarlı kalır. ProxyHat'in user-session-xxx flag'i bu amaçla kullanılır.

Canvas parmak izi spoofing'i yasal mıdır?

Canvas parmak izi spoofing, yasal olarak iki bağlamda kullanılabilir: yetkili QA testi (kendi uygulamanızın anti-bot sistemini test etmek) ve yasal otomasyon (halka açık veri toplama, robots.txt'ye saygı gösteren scraping). Dolandırıcılık, sahte hesap oluşturma veya izleme karşıtı kötü niyetli amaçlar için kullanımı CFAA ve GDPR kapsamında yasa dışı olabilir.

Sık sorulan sorular

Canvas ve WebGL parmak izi nedir?

Canvas ve WebGL parmak izi, tarayıcının GPU seviyesindeki rendering davranışını kullanarak cihazı tanımlama teknikleridir. Canvas, 2D çizim API'siyle metin ve şekiller çizip pikselleri hash'ler; WebGL ise GPU üreticisini, modelini ve shader precision değerlerini ifşa eder. En iyi 1.000 sitenin %30'undan fazlası bu teknikleri kullanır.

Canvas ve WebGL parmak izi proxy kullanıcıları için neden önemli?

Anti-bot sistemleri, IP adresi ile cihaz profilini birlikte değerlendirir. Mükemmel bir cihaz profili, datacenter IP'sinden gelirse tutarsızlık olarak işaretlenir. Proxy kullanıcıları, cihaz profiliyle uyumlu bir ağ kimliği (residential IP) kullanmalıdır, aksi halde parmak izi spoofing'i IP reputation kontrolünde başarısız olur.

Canvas ve WebGL parmak izi için en iyi proxy tipi hangisidir?

Residential proxy'ler, canvas ve WebGL parmak izi spoofing'i için en iyi seçenektir. Gerçek ISP IP'leri, gerçek bir ev kullanıcısının cihaz profiliyle (GPU, font, işletim sistemi) tutarlıdır. Datacenter IP'leri genellikle GPU içermez ve 'SwiftShader' gibi yazılımsal renderer'larla eşleşir. Mobile proxy'ler de iyi bir alternatiftir ancak mobil GPU profilleri farklıdır.

Canvas ve WebGL parmak izi uygulamasında blokları nasıl önlersiniz?

Üç temel kural: (1) Rastgele değil, seeded ve tutarlı canvas hash'leri kullanın — her çağrı aynı hash'i döndürmeli. (2) WebGL renderer string'i, cihaz profilinin geri kalanıyla (font listesi, timezone, ekran çözünürlüğü) uyumlu olmalı. (3) Residential proxy ile sticky session kullanın, böylece IP adresi cihaz hikayesiyle tutarlı kalır. ProxyHat'in user-session-xxx flag'i bu amaçla kullanılır.

Canvas parmak izi spoofing'i yasal mıdır?

Canvas parmak izi spoofing, yasal olarak iki bağlamda kullanılabilir: yetkili QA testi (kendi uygulamanızın anti-bot sistemini test etmek) ve yasal otomasyon (halka açık veri toplama, robots.txt'ye saygı gösteren scraping). Dolandırıcılık, sahte hesap oluşturma veya izleme karşıtı kötü niyetli amaçlar için kullanımı CFAA ve GDPR kapsamında yasa dışı olabilir.

Başlamaya hazır mısınız?

148'den fazla ülkede residential, ISP ve mobil proxy'ler. Ücretsiz hesap oluşturun.

Ücretsiz hesap oluştur
← Bloga Dön