Tanımlama bilgileri, kullanıcının içeriğine göre birinci taraf veya üçüncü taraf olabilir; kullanıcının o sırada hangi sitede olduğuna bağlı olarak. Tanımlama bilgisinin kaydedilebilir etki alanı ve düzeni, geçerli üst düzey sayfayla, yani tarayıcının adres çubuğunda görüntülenenle eşleşirse, tanımlama bilgisinin sayfayla aynı siteden olduğu kabul edilir ve genel olarak birinci taraf tanımlama bilgisi olarak adlandırılır. .
Mevcut site dışındaki etki alanlarından gelen tanımlama bilgilerine genellikle üçüncü taraf tanımlama bilgileri denir.
İyi birinci taraf kurabiye tarifi #
Ayarladığınız tanımlama bilgisi sitelerde kullanılmıyorsa, örneğin sitenizdeki oturumları yönetmek için kullanılıyorsa ve hiçbir zaman siteler arası iframe’de kullanılmıyorsa, bu tanımlama bilgisi her zaman birinci taraf bağlamında kullanılır.
Varsayılan olarak çerezler siteler arasında paylaşılabilir, JavaScript ile erişilebilir ve bazı gizlilik ve güvenlik riskleri içeren HTTP bağlantıları üzerinden gönderilebilir. Varsayılan davranışı iyileştirmek için devam eden çalışmalar olsa da, Gizlilik Korumalı Alanı ve bunun gibi diğer teklifler kaynağa bağlı çerezlerçerezlerinizde ek özellikler ayarlayarak bugün yapabileceğiniz çok şey var.
Aşağıdaki yapılandırma, birinci taraf tanımlama bilgilerinin çoğu için güvenlik ve tarayıcılar arası uyumluluk sağlayan en iyi uygulamadır. Yalnızca gerektiğinde izinleri açmak için ayarlayabileceğiniz güvenli bir temel sağlayacaktır. Bu makale ayrıca bazı özel kullanım durumları için tarif varyasyonlarını da kapsar.
Yemek tarifi #
Set-Cookie:
__Host-cookie-name=cookie-value;
Secure;
Path=/;
HttpOnly;
Max-Age=7776000;
SameSite=Lax;
Detaylar
__Host
bazı nitelikleri zorunlu kılan ve diğerlerini yasaklayan isteğe bağlı bir önektir:
Secure
mevcut olmalıDomain
ihmal edilmelidirPath
olmalıdır/
İle __Host
eklendiyse, yukarıdaki özelliklerin aşağıdakilerle uyumlu olup olmadığını kontrol etmek için tarayıcıya güvenebilirsiniz. __Host
kuralları ve değilse tanımlama bilgisini reddedin.
Secure
çerezlerin yalnızca HTTPS bağlantıları üzerinden gönderilmesine izin verdiği için güvenli olmayan ağlarda çerezlerin çalınmasını önler. Sitenizi HTTPS’ye tam olarak taşımadıysanız, bunu bir öncelik haline getirin.
bu Domain
niteliği, hangi ana bilgisayarların çerez alabileceğini belirtir. Bunu atlamak, tanımlama bilgisini alt etki alanları hariç olmak üzere geçerli belge ana bilgisayarıyla sınırlar: için tanımlama bilgisi example.com
her istek üzerine gönderilecek example.com
ama istek üzerine değil images.example.com
. Farklı alt etki alanlarında çalışan farklı uygulamalarınız varsa, bu, güvenliği ihlal edilmiş bir etki alanının diğerlerine kapı açmasına izin verme riskini azaltır.
Path
tarayıcının istenen URL’de bulunması gereken yolu belirtir. Cookie
başlık. Ayar Path=/
çerezin o etki alanındaki tüm URL yollarına gönderildiği anlamına gelir. hayır kombinasyonu Domain
Ve Path=/
tanımlama bilgisinin kaynağa olabildiğince yakın bağlanmasını sağlar, böylece diğer istemci tarafı depolamaya benzer şekilde davranır. LocalStorage
— hiçbir karışıklık yok example.com/a
farklı değerler alabilir example.com/b
.
bu HttpOnly
özelliği, sitelerinizdeki kötü amaçlı üçüncü taraf komut dosyalarına karşı bir miktar koruma sağlar. JavaScript erişimini kısıtlama. Bir tanımlama bilgisinin yalnızca istek başlıklarında gönderilmesine izin verir ve bunları JavaScript aracılığıyla kullanılamaz hale getirir. document.cookie
.
Max-Age
tarayıcı oturumları oldukça uzun sürebileceğinden ve eski çerezlerin sonsuza kadar ortalıkta dolaşmasını istemediğinizden, bir tanımlama bilgisinin ömrünü sınırlar. Kullanıcı oturumları gibi kısa süreli tanımlama bilgileri veya form gönderimi için belirteçler gibi daha kısa tanımlama bilgileri için iyidir. Max-Age
saniye cinsinden tanımlanmıştır ve yukarıdaki örnekte 90 gün olan 7776000 saniyeye ayarlanmıştır. Bu, kullanım durumunuza bağlı olarak değiştirebileceğiniz makul bir varsayılan değerdir.
SameSite=Lax
tanımlama bilgisinin yalnızca aynı site isteklerinde gönderilmesini kısıtlar. Yani, isteğin geçerli göz atma bağlamıyla eşleştiği yer – kullanıcının o anda ziyaret ettiği ve konum çubuğunda görüntülenen en üst düzey site. SameSite=Lax
modern tarayıcılarda varsayılandır, ancak farklı varsayılanlara sahip olabilecek tarayıcılar arasında uyumluluk için belirtmek iyi bir uygulamadır. Tanımlama bilgisini yalnızca aynı site olarak açıkça işaretleyerek, onu birinci taraf bağlamlarınızla sınırlandırmış olursunuz ve üçüncü taraf tanımlama bilgileri ortadan kalktığında bu tanımlama bilgisinde değişiklik yapmanız gerekmez.
Farklı çerez özellikleri hakkında daha fazla bilgi edinmek için şuraya göz atın: Set-Cookie
MDN ile ilgili belgeler.
Alt alan adlarına sahip siteler için birinci taraf çerez tarifi #
Alt alan adları olan bir siteniz varsa ve hepsinde tek bir oturum yapmak istiyorsanız, Host
önek çok kısıtlayıcı olabilir. Örneğin news.site
gibi konular için alt alanlara sahip olabilir. finance.news.site
Ve sport.news.site
ve hepsinde bir kullanıcı oturumu istersiniz. Bu durumda, __Secure
yerine önek __Host
ve belirtin Domain
.
Yemek tarifi #
Set-Cookie:
__Secure-cookie-name=cookie-value;
Secure;
Domain=news.site;
Path=/;
HttpOnly;
Max-Age=7776000;
SameSite=Lax;
Detaylar
__Secure
daha az gereksinim öne süren isteğe bağlı bir önektir. __Host
: yalnızca tanımlama bilgisinin şu şekilde ayarlanmasını gerektirir: Secure
bağlanmak.
Üçüncü taraf web sitelerinden başlatılan isteklerde birinci taraf çerez erişimini kısıtlama #
Sırasında SameSite=Lax
çerezler siteler arası alt isteklerde gönderilmez (örneğin, üçüncü taraf bir siteye katıştırılmış resimler veya iframe’ler yüklenirken), bir kullanıcı kaynak siteye giderken (örneğin, farklı bir siteden bir bağlantıyı takip ederken) gönderilir. alan).
Çerez erişimini daha fazla kısıtlayabilir ve üçüncü taraf web sitelerinden başlatılan isteklerle birlikte gönderilmesine izin vermeyebilirsiniz. SameSite=Strict
. Bu, parola değiştirme veya satın alma işlemi yapma gibi her zaman ilk gezinmenin arkasında olacak işlevlerle ilgili tanımlama bilgilerine sahip olduğunuzda kullanışlıdır.
Yemek tarifi #
Set-Cookie:
__Host-cookie-name=cookie-value;
Secure;
Path=/;
HttpOnly;
Max-Age=7776000;
SameSite=Strict;