İçeriğe geç
Sponsorlu AccsZone — ready-made accounts, instant delivery

Sözlük

Client hints

Client hints, user agent dizesinin bölümlerini tarayıcı ve cihaz hakkında yapılandırılmış ayrıntılarla değiştiren HTTP başlıkları ve bir JavaScript API’sidir.

Client hints nedir

Client hints, bir tarayıcının kendini tanımlamasının daha yeni bir yoludur. Her şeyi user agent dizesine sıkıştırmak yerine tarayıcı varsayılan olarak birkaç küçük başlık, istek üzerine ise daha fazlasını gönderir. Sec-CH-UA tarayıcı markalarını ve ana sürümlerini listeler, Sec-CH-UA-Mobile mobil bir tarayıcı olup olmadığını söyler ve Sec-CH-UA-Platform işletim sistemini adlandırır. Daha fazlasını isteyen bir sunucu, bir Accept-CH yanıt başlığıyla tam sürümü, platform sürümünü, CPU mimarisini, cihaz modelini veya bit genişliğini isteyebilir; tarayıcı bunları sonraki isteklerde gönderir. Aynı veriler betiklere navigator.userAgentData üzerinden sunulur.

Chromium tabanlı tarayıcılar client hints gönderir; Firefox ve Safari şu anda göndermez ve bunların yokluğu da hangi motorun kullanıldığına dair kendi başına bir ipucudur.

Neden önemli

Client hints, pasif parmak izi almayı azaltmak için getirildi: düşük entropili değerler varsayılan olarak, ayrıntılı olanlar yalnızca bir site istediğinde gönderilir. Uygulamada ise dolandırıcılık sistemlerinin birincisiyle karşılaştırdığı ikinci bir doğruluk kaynağı yarattılar. User agent dizesi Windows’ta Chrome 130 diyorsa ama Sec-CH-UA-Platform "Linux" diyorsa veya Sec-CH-UA farklı bir sürüm listeliyorsa tarayıcı değiştirilmiş demektir. Yalnızca user agent dizesini ya da yalnızca JavaScript tarafını değiştirip başlıkları değiştirmeyen antidetect araçlar tam olarak bu çelişkiyi üretir.

Yüksek entropili değerler ayrıca hassastır. Sec-CH-UA-Full-Version-List ve Sec-CH-UA-Platform-Version, bir tarayıcı yapısını ve işletim sistemi sürümünü tam olarak belirleyebilir; bir site bunları istediğinde tarayıcı parmak izine eklenir.

Nasıl kontrol edilir

HTTP başlıkları aracı, tarayıcınızın gönderdiği Sec-CH-UA* başlıklarını User-Agent başlığının yanında gösterir; böylece uyuşup uyuşmadıklarını bir bakışta görürsünüz. User agent aracı dizeyi ayrıştırır; tarayıcı parmak izi sayfası ise navigator.userAgentData’yı okuyup başlıklarla ve JavaScript platformuyla karşılaştırır.

Nasıl tutarlı tutulur

User agent’ı değiştiriyorsanız, tarayıcının yalnızca istek üzerine gönderdiği değerler dâhil client hints’i de onunla birlikte değiştirin. Gerçek bir tarayıcı sürümünden profil oluşturan antidetect tarayıcılar bunu otomatik olarak halleder; sıradan bir tarayıcıda elle yapılan bir geçersiz kılma genellikle halletmez. Tarayıcı güncellemesinden sonra yeniden test edin; çünkü marka listesi ve sürüm numaraları her yayımda değişir.

Yaygın bir yanılgı

Client hints’i kapatmak tarafsız bir seçim değildir. Hiç göndermeyen bir Chromium tarayıcısı değiştirilmiş bir tarayıcı gibi görünür; çünkü standart bir tarayıcı üç varsayılan başlığı her zaman gönderir.

İlgili araçlar