Başlamadan önce:
- "site" ile "origin" arasındaki farkı bilmiyorsanız "aynı site" ve "aynı kaynak" modelini anlama başlıklı makaleyi inceleyin.
- Spesifikasyondaki orijinal bir yazım hatası nedeniyle
Referer
başlığında bir R eksik. JavaScript ve DOM'daReferrer-Policy
başlığı vereferrer
doğru yazılmıştır.
Özet
- Tarayıcılar, bir web sitesinde herhangi bir politika belirlenmediğinde iyi bir yedek sağlamak için gizliliği artıran varsayılan yönlendirme politikalarına yöneliyorlar.
- Chrome, 85 sürümünde
strict-origin-when-cross-origin
politikasını kademeli olarak varsayılan politika olarak etkinleştirmeyi planlamaktadır. Bu durum, başka bir kaynaktan gelen yönlendiren değerine bağlı olan kullanım alanlarını etkileyebilir. - Bu yeni varsayılan seçenektir ancak web siteleri yine de istedikleri bir politikayı seçebilir.
- Değişikliği Chrome'da denemek için
chrome://flags/#reduced-referrer-granularity
adresindeki bayrağı etkinleştirin. Değişikliğin nasıl uygulandığını görmek için bu demoya da göz atabilirsiniz. - Yönlendiren politikasının ötesinde, tarayıcıların yönlendirenlerle çalışma şekli değişebilir. Bu nedenle, bu politikaya dikkat edin.
Neler değişiyor ve neden değişiyor?
HTTP isteklerinde, isteğin yapıldığı kaynak veya web sayfası URL'sini belirten isteğe bağlı Referer
üst bilgisi bulunabilir. Referer-Policy
başlığı, Referer
üst bilgisinde ve hedefin document.referrer
öğesindeki gezinme ve iframe'ler için hangi verilerin kullanılabileceğini tanımlar.
Sitenizden gelen bir istekte Referer
başlığında tam olarak hangi bilgilerin gönderileceği, ayarladığınız Referrer-Policy
başlığı tarafından belirlenir.
Herhangi bir politika ayarlanmadığında tarayıcının varsayılan ayarı kullanılır. Web siteleri genellikle tarayıcının varsayılan ayarını uygular.
Gezinmeler ve iframe'ler için Referer
üst bilgisinde bulunan verilere, document.referrer
kullanılarak JavaScript aracılığıyla da erişilebilir.
no-referrer-when-downgrade
yakın zamana kadar tarayıcılarda yaygın olarak kullanılan bir varsayılan politika olmuştur. Ancak şu anda birçok tarayıcı, gizliliği daha fazla iyileştiren varsayılan ayarlara geçiş sürecinin bir aşamasında.
Chrome, 85 sürümünden itibaren no-referrer-when-downgrade
olan varsayılan politikasını strict-origin-when-cross-origin
olarak değiştirmeyi planlamaktadır.
Bu, web siteniz için bir politika belirlenmemişse Chrome'un varsayılan olarak
strict-origin-when-cross-origin
politikasını kullanacağı anlamına gelir. Yine de istediğiniz bir politikayı belirleyebileceğinizi unutmayın.
Bu değişiklik, yalnızca herhangi bir politika ayarlanmamış web siteleri üzerinde etkili olacaktır.
Bu değişiklik ne anlama geliyor?
strict-origin-when-cross-origin
daha fazla gizlilik sunar. Bu politika ile çapraz kaynak isteklerinin Referer
üst bilgisinde yalnızca origin gönderilir.
Bu, tam URL'nin yol ve sorgu dizesi gibi diğer bölümlerinden erişilebilen gizli verilerin sızdırılmasını önler.
Örneğin:
https://site-one.example/stuff/detail?tag=red adresinden https://site-two.example/... adresine gönderilen çapraz kaynak isteği:
no-referrer-when-downgrade
ile: Yönlendiren: https://site-one.example/stuff/detail?tag=red.strict-origin-when-cross-origin
ile: Yönlendiren: https://site-one.example/.
Neler aynı kalır?
no-referrer-when-downgrade
gibistrict-origin-when-cross-origin
de güvenlidir: İstek, HTTPS kaynağından (güvenli) bir HTTP olana (güvenli değil) yapıldığında yönlendiren (Referer
başlığı vedocument.referrer
) bulunmaz. Bu şekilde, web siteniz HTTPS kullanıyorsa (değilse, öncelikli hale getirin) web sitenizin URL'leri HTTPS olmayan isteklerde sızdırılmaz. Çünkü ağdaki herkes bunları görebilir ve bu da kullanıcılarınızı ortadaki adam saldırılarına maruz bırakır.- Aynı kaynakta
Referer
üst bilgi değeri tam URL'dir.
Örneğin: https://site-one.example/stuff/detail?tag=red adresinden https://site-one.example/... adresine gönderilen aynı kaynak isteği:
strict-origin-when-cross-origin
ile: Yönlendiren: https://site-one.example/stuff/detail?tag=red
Bunun etkisi nedir?
Diğer tarayıcılarla yapılan tartışmalara ve Chrome'un Chrome 84'te gerçekleştirdiği kendi denemesine göre kullanıcının görebileceği kesintinin sınırlı olması beklenmektedir.
Kullanılabilir olan tam yönlendiren URL'yi kullanan sunucu tarafı günlük kaydı veya analizler, söz konusu bilgilerdeki daha düşük ayrıntı düzeyinden etkilenebilir.
Ne yapmanız gerekiyor?
Chrome, yeni varsayılan yönlendiren politikasını 85 tarihinde kullanıma sunmayı planlamaktadır (Beta sürümü için Temmuz 2020, kararlı sürüm için Ağustos 2020). Chrome durum girişinde durumu görebilirsiniz.
Değişikliği anlama ve tespit etme
Yeni varsayılan değişikliklerin işleyiş şeklini anlamak için bu demoya göz atabilirsiniz.
Bu demoyu, çalıştırdığınız Chrome örneğinde hangi politikanın uygulandığını algılamak için de kullanabilirsiniz.
Değişikliği test edin ve bunun sitenizi etkileyip etkilemeyeceğini öğrenin
Bu değişikliği Chrome 81'den itibaren deneyebilirsiniz: Chrome'da chrome://flags/#reduced-referrer-granularity
adresini ziyaret edin ve bayrağı etkinleştirin. Bu işaret etkinleştirildiğinde, bir politikası olmayan tüm web siteleri yeni strict-origin-when-cross-origin
varsayılanını kullanır.
Artık web sitenizin ve arka ucunuzun nasıl davrandığını kontrol edebilirsiniz.
Etkiyi tespit etmek için yapılacak bir diğer işlem, web sitenizin kod tabanının yönlendireni (sunucudaki gelen isteklerin Referer
üstbilgisinden veya JavaScript'te document.referrer
aracılığıyla) kullanıp kullanmadığını kontrol etmektir.
Başka bir kaynaktan sitenize gelen istekleri yönlendireni (daha spesifik olarak yol ve/veya sorgu dizesi) kullanıyorsanız VE bu kaynak, tarayıcının varsayılan yönlendirme politikasını kullanıyorsa (ör. politika ayarlanmamışsa) sitenizdeki bazı özellikler bozulabilir veya farklı davranabilir.
Bu durum sitenizi etkiliyorsa alternatifleri değerlendirin
Sitenize yapılan istekler için tam yola veya sorgu dizesine erişmek için yönlendireni kullanıyorsanız birkaç seçeneğiniz vardır:
- CSRF koruması, günlük kaydı ve diğer kullanım alanları için
Origin
veSec-fetch-Site
gibi alternatif teknikler ve başlıklar kullanın. Referer and Referrer-Policy: best practices (Referer ve Referans Politikası: en iyi uygulamalar) sayfasına göz atın. - Gerekirse ve kullanıcılarınız açısından şeffaf olursa iş ortaklarınızla belirli bir politika üzerinde uzlaşma sağlayabilirsiniz.
Erişim kontrolü (yönlendiren, web siteleri tarafından diğer kaynaklara özel erişim izni vermek için kullanıldığında) böyle olabilir. Ancak Chrome'da yapılan değişiklikte kaynak,
Referer
Başlığında (vedocument.referrer
'da) paylaşılmaya devam edecektir.
Çoğu tarayıcının yönlendiren açısından benzer bir yönde hareket ettiğini unutmayın (Referer and Referrer-Policy: en iyi uygulamalar bölümünde tarayıcı varsayılanları ve bunların geliştirmeleri bölümüne bakın).
Sitenizde, gizliliği artıracak açık bir politika uygulayın
Web siteniz tarafından oluşturulan isteklerde hangi Referer
gönderilmelidir? Örneğin, siteniz için hangi politikayı ayarlamanız gerekir?
Chrome'da değişiklik yapılmış olsa bile strict-origin-when-cross-origin
gibi açık, gizliliği artıran açık bir politika belirlemek veya şimdilik daha katı bir politika belirlemek iyi bir fikirdir.
Bu, kullanıcılarınızı korur ve web sitenizin, tüm tarayıcılarda daha öngörülebilir şekilde davranmasını sağlar. Çoğunlukla, sitenizin tarayıcı varsayılanlarına bağlı olması yerine kontrolü size verir.
Bir politika ayarlamayla ilgili ayrıntılar için Referrer and Referrer-Policy: best practices (Yönlendiren ve Referans Politikası: en iyi uygulamalar) bölümüne bakın.
Chrome Enterprise hakkında
Chrome kurumsal politikası ForceLegacyDefaultReferrerPolicy
, kurumsal ortamlarda önceki varsayılan yönlendiren politikasını (no-referrer-when-downgrade
) zorunlu kılmak isteyen BT yöneticileri tarafından kullanılabilir. Bu sayede kuruluşlar, uygulamalarını test etmek ve güncellemek için ek zaman yaratabilir.
Bu politika Chrome 88'de kaldırılacaktır.
Geri bildirim gönder
Paylaşmak istediğiniz veya bildirmek istediğiniz bir geri bildiriminiz var mı? Chrome'un gönderim niyeti ile ilgili geri bildirimlerinizi paylaşın veya sorularınızı @maudnals adresine tweet olarak gönderin.
Başta Kaustubha Govind, David Van Cleve, Mike West, Sam Dutton, Rowan Merewood, Jxck ve Kayce Basques olmak üzere tüm yorumculara katkıları ve geri bildirimleri için teşekkür ederiz.