PowerScan
TR

Saat dilimi uyumsuzluğu: web'deki en ucuz tutarlılık kontrolü

Tarayıcı parmak izleri · 5 dk okuma · yazan: PowerScan

Fotoğraf: Unsplash

Bir web sitesinin çalıştırabileceği tüm tutarlılık kontrolleri arasında saat dilimlerini karşılaştırmak en ucuzudur. Bir JavaScript çağrısı ve sunucunun zaten yaptığı tek bir sorgulama yeter. Aynı zamanda bir hesabın ikinci kez incelenmesinin en yaygın nedenlerinden biridir.

İki saat dilimi, iki kaynak

İlk saat dilimi adresinizden gelir. Sunucu isteğin nereden geldiğini bilir ve adresi bir bölgeye ve onun saat dilimine eşlemek için bir coğrafi konum veritabanı kullanır. Paris'ten bir bağlantı için bu Europe/Paris'tir. Bu sunucuda gerçekleşir; tarayıcınızın bir söz hakkı yoktur.

İkincisi tarayıcınızdan gelir. Intl.DateTimeFormat().resolvedOptions().timeZone, işletim sisteminin yapılandırıldığı IANA adını döndürür ve new Date().getTimezoneOffset() geçerli UTC farkını döndürür. Makine Berlin'e ayarlıysa sayfa, paketlerin nereden geldiğine bakmaksızın Europe/Berlin görür.

Neden uyuşmazlar?

Dürüst nedenler seyahat, saat bölgesi hiç değiştirilmemiş bir dizüstü bilgisayar ve başka bir ülkeden çıkan kurumsal ağlardır. Sitelerin önemsediği neden ise proxy'lerdir: bir ülkedeki tarayıcının başka bir ülkedeki adresi kullanması ve kimsenin saati düşünmemiş olması. Paris ve Berlin aynı farkı paylaşır, dolayısıyla yalnızca fark eşleşirdi; IANA adı eşleşmez. Adları karşılaştıran kontroller bunu yakalar; bu yüzden bir tanılama aracı sayısal bir fark yerine hem tarayıcının adını hem de adresin adını gösterir.

Uyumsuzluk ne anlama gelir?

Tek başına kesin bir şey ifade etmez. Gerçek insanların çoğu bunu tetikler. Ama ucuz bir sinyaldir ve puanlama sistemleri ucuz sinyalleri toplar. Bir uyumsuzluk artı barındırma olarak sınıflandırılmış bir adres artı üçüncü bir yerdeki WebRTC adayı, tek başına bir uyumsuzluktan farklı bir hikâyedir.

İkisini uyumlu hale getirmek

Tutarlı bir sonuç almanın iki yolu var. İşletim sisteminin saat dilimini adresle eşleşecek şekilde ayarlamak; bu işe yarar ama birkaç profil farklı adresler kullandığında hantaldır. Ya da tarayıcı profilinin bildirdiği saat dilimini geçersiz kılmasına izin vermek; amaca yönelik tarayıcıların yaptığı da budur: profilin saat dilimi, başlatıldığı adresi izler, böylece iki ad otomatik eşleşir. İkinci yaklaşımın ayrıca geçerli farkı, yaz saati geçişlerini ve yerelleştirilmiş tarih dizelerini de kapsaması gerekir, çünkü bir betik bunların hepsini karşılaştırabilir. Europe/Paris bildiren ama tarihleri Berlin farkıyla biçimlendiren bir profil, çelişkiyi yalnızca yer değiştirmiş olur.

Bir raporda nelere bakmalı?

"IP'ye göre saat dilimi" ve "Saat dilimi" değerlerini yan yana gösteren ve farklı olduklarında işaretleyen bir tanılama aracı, bir sitenin kontrolünün yaptığını tam olarak yapıyordur. Eşleşirlerse kontrol geçer. Eşleşmezlerse hangisini değiştireceğinizi artık bilirsiniz. Her iki durumda da faydalı olan şey, ona iliştirilmiş bir puan değil, karşılaştırmanın kendisidir.

Tüm makaleler · Taramayı başlat