Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 7 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
Referrer-Policy, tarayıcının bir sayfadan başka bir sayfaya yapılan istekte HTTP Referer başlığıyla göndereceği kaynak sayfa bilgisinin kapsamını sınırlar. Bu sayede hedef siteye tam sayfa adresi, yalnızca alan adı-köken bilgisi veya hiç bilgi gönderilmemesi seçilebilir. Özellikle URL yolunda ya da sorgu parametrelerinde kullanıcı adı, kampanya kodu, arama terimi veya başka hassas bilgiler bulunuyorsa bu başlık önemlidir.

Bu politika; çerezleri, IP adresini, tarayıcı parmak izini, sayfanın içeriğini veya oturum bilgilerini tek başına gizlemez. Asıl görevi tarayıcının HTTP isteğine eklediği Referer değerini düzenlemektir. Bazı istek türlerinde Origin başlığının null olmasını da etkileyebilir; aşağıdaki ayrımı dikkate alın. URL içindeki #parça bölümü de HTTP isteğinde normalde gönderilmediği için bu başlık tarafından ayrıca korunmaz.

Bilgi hangi düzeyde gönderilir?​


Bir sayfa https://example.com/musteri/rapor?ad=Ali adresinde olsun. Bu sayfadan başka bir siteye bağlantı verildiğinde politika, gönderilebilecek bilgiyi aşağıdaki gibi belirler:

PolitikaGönderilebilecek bilgiNe zaman tercih edilir?
no-referrerHiçbir kaynak bilgisi gönderilmez.Maksimum gizlilik gerektiğinde
originYalnızca şema, alan adı ve port gönderilir; yol ve sorgu gönderilmez.Köken bilgisi yeterliyse
same-originTam bilgi yalnızca aynı kökene gönderilir; başka kökenlere gönderilmez.Site içi ölçüm korunurken dış paylaşım kesilecekse
origin-when-cross-originAynı kökende tam adres, farklı kökende yalnızca köken gönderilir.Site içi ayrıntılı yönlendirme, dışarıya sınırlı bilgi için
strict-originGüvenlik düzeyi korunur veya artarsa köken gönderilir (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS); HTTPS→HTTP geçişinde gönderilmez.Köken bilgisi gerekli, protokol düşüşü istenmiyorsa
strict-origin-when-cross-originAynı kökende yol/sorgu dahil adres; farklı kökende güvenlik düzeyi korunur/artarsa yalnız köken, HTTPS→HTTP geçişinde bilgi yoktur.Genel amaçlı dengeli varsayılan tercih için
unsafe-urlUygun durumlarda tam adres gönderilebilir; yol ve sorgu da açığa çıkabilir.Yalnızca tam kaynak adresine gerçekten ihtiyaç varsa

Örneğin origin kullanılırsa hedef sunucu https://example.com/ değerini görebilir; ancak /musteri/rapor?ad=Ali bölümünü göremez. no-referrer kullanılırsa Referer başlığı hiç bulunmaz. Bir isteğin aynı kökene mi yoksa başka kökene mi gittiği; şema, alan adı ve port birlikte değerlendirilerek belirlenir.

Modern tarayıcılarda açık politika yoksa genel varsayılan strict-origin-when-cross-origin’dir; kullanıcı ayarı veya tarayıcı daha sıkı davranabilir. no-referrer-when-downgrade eski varsayılandır ve güvenlik düzeyi korunduğunda farklı kökene de yol/sorgu gönderebilir. Referrer olarak kullanıcı adı/parola ve fragment gönderilmez.

Uygulama ve kontrol adımları​


En küçük sunucu yanıtı yapılandırması, her HTTP yanıtına aşağıdaki başlığı eklemektir:

Kod:
Referrer-Policy: strict-origin-when-cross-origin

Uygularken:

  1. Kullanıcıya veya işletmeye ait bilgilerin URL yolunda ya da sorgu parametresinde bulunup bulunmadığını kontrol edin. Böyle bilgiler varsa tam adres gönderen bir politikayı seçmeyin.
  2. Genel kullanım için strict-origin-when-cross-origin, dış sitelere hiçbir kaynak bilgisi vermemek için no-referrer, yalnızca kökeni paylaşmak için origin seçin.
  3. Başlığı HTML sayfasını sunan HTTP yanıtına ekleyin. Yalnızca belirli bir sayfayı farklı davranacak şekilde ayarlamak gerekiyorsa, o sayfa için ayrı yanıt politikası veya uygun belge düzeyi ayarı kullanın.
  4. Tarayıcının geliştirici araçlarında ilgili isteği açıp Referer başlığını inceleyin. Beklenen değer tam adres yerine köken olmalı veya seçiminize göre başlık hiç bulunmamalıdır.
  5. Gereksiz tam adres sızıntısı sürüyorsa önbellek, CDN ve uygulama katmanının eski yanıtı sunmadığını kontrol edin. Politika değişikliği, daha önce başka sistemlere gönderilmiş bilgileri geri alamaz.

Sık yapılan hatalar​


Yalnız ana sayfaya başlık eklemek: Politika belgeye göre uygulanabildiğinden tüm önemli sayfaların ve CDN yanıtlarının aynı davranışı verdiğini doğrulamak gerekir.

Origin ile Referer'ı karıştırmak: Origin ayrı bir başlıktır. GET/HEAD veya cors/websocket/webtransport modundaki isteklerde Referrer-Policy, gönderilen Origin değerini değiştirmez. Bazı diğer isteklerde (örneğin form navigasyonu) no-referrer ve ilgili politika koşulları Origin’in null olmasına neden olabilir. fetch varsayılan olarak cors modundadır; aynı kökene fetch POST için de no-referrer seçildi diye Origin’in silineceğini varsaymayın.

no-referrer'ın tüm izlemeyi durdurduğunu sanmak: Bu seçim yalnızca kaynak URL bilgisini sınırlar. Üçüncü taraf istekleri, çerezler veya başka tanımlayıcılar için ayrıca uygulama ve tarayıcı politikaları incelenmelidir.

Kaynaklar​



Sık sorulan sorular​


Politika, sunucunun gelen istekteki Referer bilgisini değiştirebilir mi?​

Sunucu, kendisine ulaşmış başlığı sonradan geri alamaz veya istemcinin hangi değeri gönderdiğini değiştiremez. Politika, esas olarak tarayıcının sonraki isteklerde ne göndereceğini belirler.

Tam URL yerine yalnızca alan adını göndermek mümkün mü?​

Evet. origin veya güvenlik düzeyi geçişlerini de gözeten strict-origin gibi politikalar yol ve sorgu bölümünü dışarıda bırakır.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic