Problem;
Bazı web siteleri, kullandığınız :windows: Windows 11 işletim sisteminin halen Windows 10 olduğunu düşünebilir.
Sorunun ana kaynağı;
Web sitelerinde kullanılan tarayıcı tespit yöntemleri, istemciden gelen Header verilerinde sadece User-Agent
bilgisini denetler.
Windows 11'de bulunan tarayıcılarının Windows 10 olarak gözükmesinin ana nedeni, gönderdikleri User-Agent
bilgisinin Windows 11 ile alakalı bir bilgi içermemesinden kaynaklanıyor.
Örneğin, aşağıda gördüğünüz User-Agent
, web sitemize uğrayan Windows 11 çalıştıran bir bilgisayardan geliyor.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Buradaki problem, Windows NT sürümü gerçekten de 10.0 olan Windows 11'den gelen bu veride, kullanıcının Windows 10 mu yoksa Windows 11 mi kullandığı anlaşılmıyor.
Bu sorun nasıl çözülebilir?
Eğer bir geliştirici değil iseniz, bu makaleyi geliştiricilere göndermeniz yeterli olacaktır. Biraz aşağıda geliştiricilerin bunu nasıl halledebileceklerini yazacağım. Şu anda bu makaleyi, özellikle eski tespit kütüphanesi ve XenForo'da bu eksikliğin hissedilmesi nedeniyle yazıyorum. Umarım XenForo'da bulunan OS/Browser tespit eklentisinin yazarı bu makaleyi okur ve gerekli güncellemeyi yapar.
Fotoğraf: XenForo yazılımında bu eklentiyi kullanan Techolay (🇹🇷), Windows 11 ile yazılan iletiyi Windows 10 olarak tanımlamakta. (Şimdilik.)

Sorunun çözülebildiğini görmek isterseniz, canlı test etmek için Windows 11 bir cihazda güncel bir Chromium tabanlı tarayıcı ile https://test.teteos.net/browser adresine uğrayın. Adrese ilk defa giriş yaptığınızda Windows 10 kullandığınızı düşünebilir. Ancak bir kere sayfayı yenilemeniz yeterlidir.
Bir geliştirici iseniz;
Web sitelerin halen geliştirilmekte olan PiluX işletim sistemini tanıyabilmesi için tarayıcı tespiti konusunda çalışmalar yapmıştık. User-Agent
verisine PiluX/[Sürüm numarası]
eklemeyi düşündüğümüz ve çalışma yaptığımız esnada, kendi tarayıcı tanımlama sistemimizin Windows 11'i Windows 10 olarak tanımladığını da gördük. Bu da NT sürümünü ayrıştırıp 10.0 olması durumunda Windows 10 olarak kabul etmesini sağladığımızdan kaynaklanıyor. Oysa Windows 11'de aynı NT sürümünü kullanıyor.
Sec-CH-UA başlığı kullanmalısınız. Ya da bundan yararlanan bir kitaplık. Bu başlıktan yararlandığınız zaman web siteniz, aşağıdaki tabloda bulunan yeşil renk ile işaretlenmiş tarayıcı sürümlerini kullanan kullanıcıların Windows 11 kullandığını tespit edebilmeye başlayacak.
Ayrıca tarayıcılar web sitelerine ilk uğradığında bu başlığı hemen göndermezler. Bunun için sunucunuzun bu başlığı kabul ettiği bilgisini istemcilere göndermelisiniz.
Biz bunu PHP'de böyle yapıyoruz: header("Accept-CH: Sec-CH-UA-Platform");
- Tablo: Can i use? web sitesinden alındı.

- Tablo: Firefox web sitesinden alındı.

PHP ile çözümü;
Aşağıdaki kodu inceleyip kullanımınıza göre düzenleyin. $client_os ve $client_os_version sizi çözüme götürecektir.
# This code is part of TeTeOS.Net Web (T.Web()) script.
# Writed by Hasan Merkit.
# Request the client to provide platform information
header("Accept-CH: Sec-CH-UA-Platform");
# If browser sends Sec-CH-UA-Platform header, use it
if ( isset($_SERVER['HTTP_SEC_CH_UA_PLATFORM']) ){
$client_secchua_platform = str_replace("\"","", $_SERVER['HTTP_SEC_CH_UA_PLATFORM']);
switch ($client_secchua_platform) {
case "Linux": // PiluX sends Linux header for browser standarts
$client_os = "Linux";
if ( $client_secchua_platform_version!="" ){
$client_os_version = $client_secchua_platform_version;
}
break;
case "Windows":
$client_os = "Windows";
if ( $client_secchua_platform_version!="" && intval($client_secchua_platform_version) >= 13 ){
$client_os_version = '11';
} else {
$client_os_version = '10';
}
break;
default:
$client_os = $client_secchua_platform;
if ( $client_secchua_platform_version!="" ){
$client_os_version = $client_secchua_platform_version;
}
break;
}
}
Son.
Umarım bu makale, geliştirdiğiniz web siteleri ve kütüphaneye Windows 11 ve PiluX desteğini ekleme konusunda size yardımcı olur. 🙂 Eğer bu makale sayesinde geliştirdiğiniz kütüphane Windows 11'i tespit edebilmeye başlarsa lütfen hasanmerkit@teteos.net adresine mail atarak bunu benimle paylaşın.