Dosyalarınızın yüklenmediğini nasıl kontrol edersiniz
Bu sitelerin hepsi gizli olduğunu söylüyor. Bunu gerçekten nasıl doğrularım?
Doğru varsayımdan başlayın
Bir pazarlama sayfasındaki gizlilik iddiası kanıt değildir. Bir asma kilit simgesi, bir rozet ya da bir gizlilik politikasındaki bir cümle de değildir — bunlar niyeti anlatır, sizin bilmek istediğiniz şey ise davranıştır. Neyse ki davranış gözlemlenebilir: her tarayıcı, bir sayfanın tam olarak ne gönderdiğini gösteren araçlarla gelir ve bunları okumak için geliştirici olmanız gerekmez.
Bu kontrolleri bu sitede yapın. Daha önce kullandığınız sitede de yapın. Amaç başka bir iddiaya güvenmek değil; hiçbir iddiaya güvenmek zorunda kalmamaktır.
Birinci kontrol: ağ panelini izleyin
- Geliştirici araçlarını açın. Çoğu masaüstü tarayıcıda bunlar F12, Ctrl+Shift+I ya da Cmd+Option+I tuşlarıdır.
- Ağ sekmesini seçin ve kaydın açık olduğundan emin olun.
- Sayfayı yeniden yükleyin, sonra listeyi temizleyip boş bir kayıttan başlayın.
- Dosyanızı seçin ve işlemi çalıştırın.
- Boyuta göre sıralayın ya da yöntem sütununda POST ve PUT isteklerine bakın.
Aradığınız şey, yükü dosyanızın boyutu mertebesinde olan herhangi bir istek ve bulunduğunuz site dışındaki bir sunucuya giden herhangi bir istektir. Yerel bir araç kendi kodu için istekler gösterir — betikler, stil sayfaları, WebAssembly modülleri, belki bir model dosyası — sonra iş sürerken hiçbir şey göstermez. Yükleme yapan bir araç ise düğmeye bastığınız anda birkaç megabayt taşıyan bir istek gösterir.
İkinci kontrol: ağı ortadan kaldırın
En güçlü kontrol budur ve hiçbir uzmanlık gerektirmez. Sayfayı normal şekilde yükleyin, ihtiyaç duyduğu motor önbelleğe alınsın diye aracı bir kez kullanın, sonra bağlantıyı kesin: uçak modunu açın, Wi-Fi'yi kapatın ya da geliştirici araçlarındaki çevrimdışı anahtarını kullanın. Şimdi bir dosya işleyin.
İşlem tamamlanırsa, işlemenin sizin makineniz dışında bir yerde gerçekleşmiş olması mümkün değildir. Tartışılacak bir belirsizlik yoktur. Başarısız olur ya da takılırsa, akıştaki bir şeyin sunucuya ihtiyacı olmuş demektir — bu meşru da olabilir, örneğin henüz önbelleğe alınmamış bir model dosyası; ama artık hangisi olduğunu sormanız gerektiğini biliyorsunuz.
Üçüncü kontrol: içerik güvenlik politikasını okuyun
İçerik güvenlik politikası, sitenin gönderdiği ve tarayıcının uyguladığı bir başlıktır. connect-src yönergesi, sayfanın bağlantı açmasına izin verilen hedefleri listeler. connect-src sitenin kendi kökeniyle sınırlıysa, sayfanın kodu ne yapmaya çalışırsa çalışsın, başka bir yere bir şey gönderme girişimini tarayıcının kendisi engeller.
Okumak için ağ sekmesini açın, belge isteğine — genellikle ilk satır — tıklayın ve yanıt başlıkları arasında Content-Security-Policy'ye bakın. Dış sunucu içermeyen, connect-src 'self' barındıran bir politika anlamlı ve tarayıcı tarafından uygulanan bir kısıttır; bir vaat değil.
Her kontrol neyi kanıtlar
| Kontrol | Neyi kanıtlar | Neyi kapsamaz |
|---|---|---|
| Ağ paneli | Bu sayfanın bu oturum sırasında ne gönderdiğini | Farklı bir kod yolunu, sitenin sonraki bir sürümünü ya da siz izlemeyi bıraktıktan sonra yapılan bir isteği |
| Çevrimdışı testi | İşlemenin kendisinin yerel olarak çalıştığını | Bir şeyin kuyruğa alınıp yeniden bağlandığınızda gönderilip gönderilmediğini |
| İçerik güvenlik politikası | Tarayıcının bağlantılara nereye izin verdiğini | Politikanın izin verdiği her şeyi, sitenin kendi kökeni dahil |
| Kaynağı okumak | Yayına çıkan kodun ne içerdiğini | Harcanan emeği; ayrıca site değiştiğinde yinelenmesi gerekir |
Birlikte güçlüdürler. Tek başına her birinin bir boşluğu vardır ve size tek bir kontrolün meseleyi çözdüğünü söyleyen herkes işi fazla basitleştiriyordur.
Bir aracın yerel olmadığına dair işaretler
- Cihazınızla ilgisi olmayan bir hızda ilerleyen bir ilerleme çubuğu — hızlı bir dizüstü bilgisayarda da eski bir telefonda da akıcı ve birebir aynı.
- Tarayıcınızın elinde zaten bulunan bir dosya olarak değil, kendi alan adlarındaki bir indirme adresine bağlantı olarak teslim edilen bir sonuç.
- Dosyaların birkaç saat sonra sunucularından silineceğine dair bir mesaj. Bu cümle, dosyaların orada olduğunun itirafıdır.
- Bir kuyruk ya da hız sınırı. Kendi işlemcinizin, başkalarıyla paylaşılan bir kuyruğu yoktur.
- Aracın, ağ bağlantısı kesikken yalnızca ilk küçük dosyada çalışıp sonra durması.
Doğrulamanın sınırları
Doğrulama size sitenin test ettiğiniz sürümü hakkında, test ettiğiniz gün için bilgi verir. Bir site yarın değişebilir. En çok önem taşıyan kontrollerin yapısal olanlar olmasının nedeni budur: kısıtlayıcı bir içerik güvenlik politikası ve çalışan bir çevrimdışı testi, belirli bir sürüme dair vaatler değil, uygulamanın nasıl inşa edildiğine ilişkin özelliklerdir.
İki şey bu listedeki her kontrolün dışında kalır. Bir tarayıcı eklentisi, içine yüklediğiniz dosya da dahil olmak üzere herhangi bir sayfanın içeriğini okuyabilir ve hiçbir site bunu engelleyemez. İşletim sisteminiz açtığınız her dosyayı görebilir. Bir belge bunların önem taşıyacağı kadar hassassa, onu denetlediğiniz bir makinede çevrimdışı bir yazılımla işleyin ve herhangi bir web sitesini — bu site dahil — o iş için yanlış araç olarak görün.
Bunun için araçlar
Kaynaklar
- W3C — Content Security Policy Level 3
- MDN — Content-Security-Policy connect-src
- Chrome DevTools — inspect network activity
- MDN — Firefox Network Monitor