TanodTools
TR

User-Agent çözümleyici

Bir user agent dizesini tarayıcıya, motora, işletim sistemine, cihaza ve işlemciye ayırın; başlangıçta kendi tarayıcınızınkiyle.

Tamamen tarayıcınızda çalışır

Tarayıcınızdan Client Hints

Çözümleme ua-parser-js 1.0.41 (MIT) kullanır ve kalıplara dayanır; bu yüzden alışılmadık veya taklit edilmiş dizeler yanlış okunabilir. Client Hints yalnızca şu anda kullandığınız tarayıcı için ve yalnızca o tarayıcı destekliyorsa gösterilir (Chromium tarayıcılar destekler; Firefox ve Safari desteklemez).

User-Agent dizesi nasıl okunur

  1. Kendi tarayıcınızın user agent'ı sayfa yüklenir yüklenmez çözümlenir. Başka birini denetlemek için kutuya yapıştırın, örneğin bir sunucu günlüğünden.
  2. Tarayıcı, motor, işletim sistemi, cihaz ve işlemci satırlarını okuyun. Bunları kanıtlanmış gerçekler değil, dizenin iddiası olarak değerlendirin.
  3. Kendi tarayıcınız için sonucu, kısaltılmış dizenin dışarıda bıraktığı ayrıntıları gösterebilen Client Hints bölümüyle karşılaştırın.

User-Agent size ne söyler, neyi gizler

User-Agent, bir sunucunun hangi tarayıcının istekte bulunduğunu görüp orada çalışan bir sayfa gönderebilmesi için doğdu. Ardından tarayıcılar iyi sayfaları almak için birbirlerinin adlarını kopyaladı; bu yüzden bugün bir Chrome dizesi Mozilla, AppleWebKit, KHTML, Gecko ve Safari de der. Bir çözümleyici, kalıpları dikkatli bir sırayla sınayarak ve en özel eşleşmeyi seçerek bu durumu aşar.

Dize bilerek de kısaltılıyor. Chrome'un User-Agent küçültmesi Windows sürümünü NT 10.0'a, macOS sürümünü 10_15_7'ye, Android modelini K'ye ve yapı numarasını 0.0.0'a sabitler; böylece dize artık iyi bir parmak izi olmaz. Ayrıntılar yok olmadı: bunları Client Hints ile isteyen bir sayfa platform sürümünü, mimariyi, modeli ve tam tarayıcı sürümünü alır; yanıt verip vermeyeceğine ziyaretçinin tarayıcısı karar verir.

Dizeyi kaba kararlar ve günlükler için kullanın, güven için değil. Web tarayıcı botları (crawler) ve curl gibi komut satırı araçları kendi kısa dizelerini gönderir ve her şey taklit edilebilir. Bir düzen hatasının peşindeyseniz, sayfadaki özellik algılama tarayıcı adını okumaktan daha güvenilirdir.

İpuçları

  • Bir sunucu günlüğü tek bir istemciye verilen 403 veya 429 yanıtlarıyla mı dolu? Kodları HTTP durum kodları başvurusunda arayın.
  • URL'lerdeki veya sorgu dizelerindeki user agent'lar genellikle yüzde kodlanmıştır; bunları URL kodla ve çöz ile çözün.
  • Bir istekten kopyalanan üst bilgiler bazen Base64 değerler taşır; bunları Base64 kodla ve çöz ile okuyun.

Sık sorulan sorular

User-Agent dizesi nedir?

Bir tarayıcının ya da programın her web isteğiyle birlikte ne olduğunu söylemek için gönderdiği metin satırıdır. Onlarca yıllık uyumluluk hileleri nedeniyle hemen her tarayıcı Mozilla/5.0 ile başlar ve birkaç başka tarayıcıdan söz eder; bu yüzden onu okumak basit bir bölme değil, kalıp eşleştirme gerektirir.

Windows 11 neden Windows 10 görünüyor?

Chrome ve diğer Chromium tarayıcılar, gerçek Windows sürümü ne olursa olsun dizenin platform kısmını "Windows NT 10.0" olarak dondurur. Bunları yalnızca Client Hints ayırt edebilir: 13 veya daha yüksek bir platform sürümü Windows 11 demektir. Bu sayfa, mevcut olduğunda kendi tarayıcınız için bu değeri gösterir.

iPad'im neden Mac olduğunu söylüyor?

iPadOS 13'ten beri Safari varsayılan olarak masaüstü web sitelerini ister ve Macintosh user agent'ı gönderir. Dizenin tek başına bir Mac'i iPad'den ayırması mümkün değildir, ancak bir sayfa dokunmatik ekran olup olmadığını denetleyebilir. Aynısı macOS için de geçerlidir: sürüm dizede 10_15_7 olarak donmuştur.

User-Agent küçültme nedir?

Chrome, pasif izlemeyi azaltmak için dizeden ayrıntıları kaldırıyor: alt sürüm 0.0.0 olarak görünür, Android cihaz modeli tek bir K harfi olarak görünür ve işletim sistemi sürümü sabittir. Ayrıntılara ihtiyaç duyan siteler bunları Client Hints ile istemek zorundadır.

Client Hints nedir?

Bir sayfanın mimari veya tam tarayıcı sürümü gibi belirli ayrıntıları dizeden okumak yerine istemesini sağlayan yapılandırılmış üst bilgiler ve bir JavaScript API'sidir (navigator.userAgentData). Bugün yalnızca Chromium tabanlı tarayıcılar destekler.

Güvenlik kararları için user agent'a güvenebilir miyim?

Hayır. Herkes herhangi bir dize gönderebilir ve botlar genellikle Chrome gibi davranır. İstatistikler ve bir düzen seçmek için uygundur, ancak erişim denetimi için değildir. Googlebot'u doğrulamak için bir site bunun yerine ziyaretçinin IP adresini ters DNS sorgusuyla denetler.