- Katılım
- 30 Ocak 2025
- Mesajlar
- 4.991
- Makaleler
- 14
- Çözümler
- 100
- Beğeniler
- 8.091
Konu Başlıkları Gizle
- 1 Tespit sistemi hakkında:
- 2 Tespit edilebilen tarayıcı ve işletim sistemleri:
- 3 Tespit sistemimizin diğer tespit sistemlerine göre daha iyi yanları:
- 4 Tespit edilemeyen Linux dağıtımlar hakkında:
- 5 Çalışma mantığı:
- 6 İnternet siteleri kullandığımız tarayıcıları bilmesi bir güvenlik sorunu mudur?
- 7 Nasıl gizleyebilirim?
- 8 Diğer siteler de bu teknolojimizi kullanabilir mi?
- 9 Kullandığım tarayıcı tespit edilemiyor, nasıl rapor gönderebilirim?
- 10 Kaynak kodu hakkında üzücü haber:
- 11 Ek teknik notlar:
Tarayıcı tespit sistemi ana konusu
[
]
[Bu konu hep güncel tutulacaktır.]
XenForo eklentisi - Tespit raporu gönder
[
[Bu konu hep güncel tutulacaktır.]
XenForo eklentisi - Tespit raporu gönder
Selam arkadaşlar.
Bildiğiniz üzere Techolay Sosyal, ekibimizin yazdığı tarayıcı tespit kütüphanesi kullanmaktadır.
Tarayıcı tespit sistemi hakkında detaylı bilgi bulabileceğiniz, geri bildirimlerde bulunabileceğiniz ana konu oluşturmaya karar verdik.
Not: Değişiklik notları, @Barış tarafından yayınlanan "Sosyal Güncellemeleri" konularında bulunacaktır.
Özel teşekkürler:
Destekleri ve yurt dışına ulaştırdığı için: @Recep Baltaş
Teknolojimizi XenForo'ya uyarlayan ekip üyemiz: @MKerem
İlginç cihaz testleri: @afacanc38 @ömer faruk @Exinie
Tespit sistemi hakkında:
Tespit sistemi, yazdığınız mesajların hangi işletim sistemi ve tarayıcı kullanılarak yazıldığını diğer kullanıcılara gösterir.
Bilmiyor olabileceğiniz bir özellik daha: Techolay Sosyal'in "Konuşmalar" kısmını da desteklemektedir:
650 pikselden daha düşük genişlikteki cihazlar için mobil görünüm desteği de mevcuttur.
Tespit edilebilen tarayıcı ve işletim sistemleri:
Aşağıdaki listede, kitaplık tarafından tespit edilebilen işletim sistemleri listesi verilmiştir.
Linux, PiluX, Android, HarmonyOS, Ubuntu, Fedora, Tizen, webOS, Windows, iOS, macOS, OS X, Unix, ChromeOS, BSD, FreeBSD, OpenBSD, Wii OS, PlayStation, Symbian, Java, Solaris, Haiku, Redox OS
Aşağıdaki listede, teknolojimiz tarafından tespit edilebilen işletim sistemleri listesi verilmiştir.
Firefox, Chrome, Chromium, Edge, Opera GX, Opera Air, Opera Mini, Opera, Brave, Android Browser, Safari, Google, Samsung Internet, Yandex Browser, Yandex, DuckDuckGo, Avast Secure Browser, AVG Secure Browser, Norton Private Browser, r3dfox, Mi Browser, Mint Browser, Pale Moon, Mypal, K-Meleon, Netscape Navigator, WebPositive, Ecosia, Falkon, UC Browser, Aloha, Puffin, HeyTap, Vivaldi, Huawei Browser, Hi Browser, Nokia Browser, monocles browser, Servo, Steam, Instagram, Facebook, Snapchat, TikTok, Minecraft, PlayStation Browser, Goanna Browser, NetSurf, Internet Explorer
Aşağıdaki listede, teknolojimiz tarafından tespit edilebilen tarayıcı motoları listelenmiştir.
Blink, WebKit, Goanna, Gecko, NetSurf, Trident, Presto, Servo, CLI
Tespit edilemeyen veya farklı görünenler:
Gerekli dizeleri sağlamadığından dolayı bazı tarayıcıların tespiti mümkün olmayabiliyor. Örneğin Firefox tabanlı Zen Browser, ek veri sağlamadığından dolayı sunucu tarafında sadece Gecko motoru kullandığı anlaşılıyor ve Firefox olarak görünüyor.
GNOME Web Browser: (Diğer adıyla Epiphany) Bu WebKit tabanlı tarayıcı, WebKit Browser olarak görünür. Ek dize sağlamadığından GNOME Web Browser olarak tespit edilemez. Ancak bir WebKit tarayıcısı olduğu da doğrudur. T.Web() Browser Detect kütüphanesi kullanmayan siteler, bunun bir Safari olduğu yanılgısına kapılabilir.
Tor Browser: Bu tarayıcı, kendini sunuculara istek başlıkları dışında yöntem ile tanıtıyor. Firefox olarak görülebilir.
Thorium: Bu tarayıcı, Chromium olarak görülür. Zaten de doğru kabul edilir.
Zen Browser: Bu tarayıcı, ek dize sağlamıyor. Firefox olarak görülebilir.
Vivaldi Browser: Varsayılan olarak ek dize sağlamıyor. UA yanıltıyor. Kullanmanızı tavsiye etmiyoruz.
Tespit sistemimizin diğer tespit sistemlerine göre daha iyi yanları:
- Server-Side çalışması nedeniyle Javascript gereksinimi bulunmamaktadır. (PHP)
- Opera sürümlerini ek istek başlıklarını kontrol ederek ayırt edebilmektedir. (Opera GX, Opera Air gibi.)
- WebKit tarayıcılarının Safari olarak gözükmesi sorunu bulunmamaktadır. (Eğer OS, Apple'a ait değilse denetimi.)
- Windows 10 ve Windows 11 ile ilgili tespiti daha isabetli yapar. (Bunları çözmüş olduk: 123)
- X-Requested-With başlığını dinleyerek mobil tarayıcıları daha isabetli tespit edebilmektedir.
- Sadece Sec-CH-UA ile kendini tanıtan tarayıcılar tespit da tespit edilebilmektedir.
Bu ayrımı yapamayan web siteleri, tarayıcıları "Google Chrome" olarak görebilir.
Ancak aşağıdaki fotoğraflarda da gördüğünüz gibi Techolay, "Windows 10/11" ile "Chromium/Brave/Google Chrome" arasında ayrımlar yapabilmektedir.
Tespit edilemeyen Linux dağıtımlar hakkında:
Bu yıl yetiştirebilirsek PiluX için tarayıcıların istek başlıklarını ikna eden bir betik yazacağız. Ancak bu betiği, sadece kendi geliştirdiğimiz dağıtım için değil, tüm dağıtımlara uygun hâle getirmeye karar verdik.
Betik yayınlandığında paylaşacağımız tek satır terminal komutu ile işletim sisteminizin tespitini iyileştirebileceksiniz. Muhtemelen "Arch Linux, Ubuntu, Linux Mint, Kali Linux, Fedora, Pop!_OS, Gentoo, openSUSE" ve aklınıza gelebilecek birçok "/etc/(os-lsb)-release" ile ayırt edilebilen dağıtımları tespit edilebilir hâle getireceğiz.
Bununla ilgili aldığımız bir diğer karar ise bu betik, tüm web siteleri yerine sadece T.Web() teknolojisi kullanan (kendi web sitelerimiz ve eklentimizi kullanan sitelerde) çalışacak şekilde tasarlamaya karar verdik.
Tespit edilmesi (şimdilik) mümkün olmayanlar:
Firefox tarayıcısı, Sec-CH-UA kullanmadığından dolayı Windows 10 ve Windows 11'de "NT 10.0" bilgisi dışında sunucuya hiçbir bilgi göndermemektedir. Bu nedenle kullanıcının tam isabet ile Windows 10 veya Windows 11 kullanıp kullanmadığını söylemek zorlaşıyor. Eğer Mozilla bu konu ile ilgili adımlar atarsa, mutlaka çalışmalar yapacağız.
Vivaldi tarayıcısı, bunun bir gizlilik olduğunu iddia ederek "Vivaldi/" dizesini göndermeyebiliyor. Bu yüzden "Vivaldi" tarafından gelecek geri bildirimleri kabul etmeme kararı aldık.
Bazı Firefox ve Chrome tabanlı tarayıcılar, kendine ait istek başlığı üretmemektedir. Bu da tespiti zorlaştırmaktadır.
Çalışma mantığı:
Tarayıcılar, daha uyumlu deneyim sunmak için web sitelerine "istek başlıkları" dediğimiz minik veriler gönderir.
Aşağıdaki fotoğrafta, User-Agent başlığının nasıl değerlendirildiğini görebilirsiniz.
Tarayıcınız, web sitelerine hangi işletim sistemi ve tarayıcı kullandığınızı sunma nedenlerinden biri de uyumluluktur. Örneğin, tarayıcınıza daha uygun olan web tasarımı gösterebilir veya bazı indirme linklerini değiştirmek gibi değişikliklerde bulunabilir. Mesela, Discord'u indirmek için discord.com sayfasına "Windows" ile ziyaret ederseniz site size bir .exe uzantılı dosya sunar. Ancak "Ubuntu" ile ziyaret ederseniz size ".deb" uzantılı dosya sunar.
İnternet siteleri kullandığımız tarayıcıları bilmesi bir güvenlik sorunu mudur?
Güvenliği sorgulatmadı değil açıkçası. Nasıl oluyor da benim girdiğim cihazın sistemini ve tarayıcıyı bilebilir anlamadım?
Nasıl oluyor bir bakalım:
Tarayıcınız, yukarıda da belirtildiği gibi uyumluluk açısından sunucuya bilgiler sağlamaktadır.
Aslında tarayıcı desteği eklemek için sizden ziyaret etmenizi istediğim sayfa da bu bilgileri sizin isteğiniz doğrultusunda rapor olarak kaydediyor. Biz de bunu değerlendirip sistemi geliştiriyoruz.
Mesela bazı durumlarda sizden rapor istendiğinde bu bilgileri "sizden izin alarak" kaydetmiş oluyoruz.
Bir örnek sunmak için bize gönderilen Windows 11 + Microsoft Edge 138 raporunu gösteriyoruz:
Sonuçlar:
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0.
- Sec-CH-UA: "Chromium";v="138", "Microsoft Edge";v="138", "Not.A/Brand";v="99".
- Sec-CH-UA_Platform: Windows.
- Sec-CH-UA_Platform_Version: 19.0.0.
- X_Requested_With: .
- OS: Windows - 11
- Browser: Edge - 138
- Browser Engine: Blink - 138
Tüm Header'lar:
- Sec-Fetch-Mode: navigate
- Sec-Fetch-Site: same-origin
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0
- Upgrade-Insecure-Requests: 1
- Content-Type: application/x-www-form-urlencoded
- Sec-Ch-Ua-Platform-Version: "19.0.0"
- Sec-Ch-Ua-Platform: "Windows"
- Sec-Ch-Ua-Mobile: ?0
- Sec-Ch-Ua: "Chromium";v="138", "Microsoft Edge";v="138", "Not.A/Brand";v="99"
- Cache-Control: max-age=0
- Content-Length: 11
- Connection: Keep-Alive
- Sec-Fetch-Dest: document
- Cf-Ipcountry: TR
- Cf-Connecting-Ip: [IP ADRESİMİ GİZLEDİM]
- Referer: https://test.teteos.net/browser/?from=techolay.net
- Accept-Language: tr
- Cf-Visitor: {"scheme":"https"}
- Priority: u=0, i
- Cdn-Loop: cloudflare; loops=1
- X-Forwarded-Proto: https
- Cookie: banned_user=false
- Accept-Encoding: gzip, br
- Sec-Fetch-User: ?1
- Host: test.teteos.net
- X-Forwarded-For: [IP ADRESİMİ GİZLEDİM]
- Cf-Ray: 94035a116fc46e07-IST
Yukarıda gördüğünüz başlıklar, tarayıcılarınız tarafından web sitelerine verilen bilgilerdir. Cihazınız, bu bilgileri tüm ziyaret ettiği sunuculara verir. Bu sayede web sunucuları kullandığınız işletim sistemini ve tarayıcıyı tahmin edebilir.
Web siteleri, size daha iyi deneyim sunmak için bazı bilgileri işlemek zorundalar. Örneğin, yukarıdaki rapora bakarsanız
Accept-Language başlığını görebilirsiniz. Tarayıcınız, web sitesine hangi dili tercih ettiğinizi söyler. Bu sayede birden fazla dil destekleyen web siteleri, tercihinize bağlı olarak farklı dilde sayfa görüntüleyebilir. (Bazı web siteleri, bunun yerine IP adresinizin konumunu tercih edebilir.)Güvenilir mi? Gizlilik açısından ne diyebiliriz?
Web sitesi sahiplerinin kullandığınız tarayıcıyı bilmesi bir güvenlik sorunu değildir. Eğer siz yine de başkalarının bu bilgieri görmesini istemiyor iseniz profilinizin ayarlarından bu seçeneği kapatabilirsiniz. Ancak Techolay web sunucusu, her web sunucusu gibi tarayıcınızı görmeye devam edecektir ve bu gayet doğal bir durumdur.
Nasıl gizleyebilirim?
https://techolay.net/sosyal/hesap/gizlilik adresini ziyaret edin. "Gönderilerde tarayıcı/işletim sistemi bilgilerini göster" seçeneğini kapatın.
Diğer siteler de bu teknolojimizi kullanabilir mi?
İleride PHP proje yöneticileri, kodları paylaşmamız durumunda bundan faydalanabilir. Şimdilik sadece XenForo eklentimizi satın alan web siteleri bundan yararlanabilir.
Kullandığım tarayıcı tespit edilemiyor, nasıl rapor gönderebilirim?
Bu web adresinden rapor gönderebilirsiniz: https://test.teteos.net/browser?ref=techolay.netRapor göndermeden önce lütfen
Tespit edilemeyen veya farklı görünenler kısmını okuyunuz.Kaynak kodu hakkında üzücü haber:
XenForo eklentisi ücretli kalacak olsa da geliştirdiğimiz T.Web() Browser Detect Library kaynak kodlarını açacaktık. Ancak maalesef kendi kodlarımızın "Lisans belirtsek bile" çalınıp özellikle tespit edilmesini istediğimiz PiluX işletim sisteminin koddan silinebileceğini düşündük. Bu yüzden kaynak kodu paylaşmama kararı aldık.
Yine de gerekli önlemler alındıktan sonra tespit kitaplığın PHP projelerinde kullanılabilmesi için kaynak kodları açmayı istiyoruz.
Erişilebilir olan XenForo eklenti kodları da çoktan lisanslanmıştır. Korsan veya izinsiz modefiye durumlarında XenForo lisansı şikayet edilecektir.
Ek teknik notlar:
1. Listelerde olmayan işletim sistemi veya tarayıcılar da Sec_Ch_Ua_Platform sayesinde tespit edilebilir.
2. Fedora, artık User-Agent dizesi sağlamıyor: https://discussion.fedoraproject.or...al-of-fedora-from-browsers-user-agent-string/
3. Windows 10/11 ayrımı, Firefox tarayıcısında yapılamıyor. Windows 11, NT sürümü 10.0 olarak rapor edilmiştir. Chrome tabanlı tarayıcılarda Platform sürümü ile Windows XP'den Windows 11'e kadar sürümler ayırt edilebilmektedir.
4. Tespit teknolojimiz, macOS ve PiluX için işletim sistemi kod isimlerini de takip etmektedir. macOS veya PiluX güncellendikçe teknolojiyi yenileyeceğiz.
5. CLI ve yapay zeka tespitleri deneyseldir. Verimli çalışmayabilirler. İstenilen seviyeye gelememesi durumunda kaldırılabilir.
Son düzenleme: