Bölümlendirilmemiş çerezlerden bölümlendirilmiş çerezlere geçiş

Sitenizi bölümlendirilmiş çerezlere geçirirken, belirli bir istemci için aynı ada sahip hem bölümlendirilmiş hem de bölümlendirilmemiş bir çerez varsa beklenmedik davranışla karşılaşabilirsiniz.

Bölümlendirilmiş bir çerezin ayarlanması, aynı ada sahip mevcut bir bölümlendirilmemiş çerezi geçersiz kılmaz veya değiştirmez. Üçüncü taraf çerezleri etkin olduğu sürece her ikisi de mevcut olur, ancak bunlar ayrı çerez kavanozlarındadır. Üçüncü taraf çerezleri devre dışı bırakıldığında yalnızca bölümlendirilmiş çerez kabul edilir. Her iki çerez de mevcutsa, programatik olarak hangisinin bölümlendirilmiş olup hangisinin olmadığını ayırt etmek mümkün değildir ve bu durum beklenmeyen davranışlara yol açabilir.

Bu sorunu gidermek için iki olası seçenek vardır: 1. Değiştirdiğiniz çerezin geçerlilik süresi sona erer 2. Çerezlerinizi yeniden adlandırma

Göz önünde bulundurulması gereken önemli noktalar

Bölümlendirilmiş çerezlere geçiş yaparken aşağıdakileri göz önünde bulundurun:

  1. Bir çerezin bölümlendirilmiş mi yoksa bölümlendirilmemiş mi olduğunu programlı bir şekilde belirlemenin bir yolu yoktur. Ancak Chrome Geliştirici Araçları'nda bir çerezin bölümlendirilmiş durumunu belirleyebilirsiniz.
  2. Bölümlendirilmiş çerezler, bölümlendirilmemiş çerezlerin üzerine yazmaz. Birbirinin aynısı olan (yani ad, alan veya yol gibi aynı özelliklere sahip olan) iki çerez, yalnızca bir tanesi Partitioned özelliğine sahipse ayrı çerezler olarak değerlendirilir.
  3. En iyi yöntem, hem bölümlendirilmiş bir çerezin hem de aynı ada sahip bir bölümlendirilmemiş çerezin aynı ağ çağrısında döndürüldüğü durumlardan kaçınmaktır.

Değiştirdiğiniz çerezlerin geçerlilik süresi

Siteniz veya hizmetiniz addaki bir değişikliğe uyum sağlayamazsa mevcut bölümlendirilmemiş çerezin süresi dolarken yeni bir bölümlendirilmiş çerez oluşturabilirsiniz. Bir çerezin bölümlendirilmiş olup olmadığını belirlemenin bir yolu olmasa da Partitioned özelliği olmayan Set-Cookie üst bilgileri, bölümlendirilmemiş çerezleri etkilemez.

Aşağıdaki örnekte, example adlı bölümlendirilmemiş çerezin süresinin nasıl dolacağı ve aynı ada sahip olsalar bile bölümlendirilmiş çerezlerin nasıl etkileneceği gösterilmektedir. cookieName adında yeni bir bölümlendirilmiş çerez eklenir veya bu çerez zaten varsa güncellenir.

Set-Cookie: example=-1;HttpOnly;SameSite=None;Secure;Max-Age:0
Set-Cookie: cookieName=value;Secure;SameSite=None;MaxAge=34560000;Partitioned

Çerezlerinizi yeniden adlandırma

Sorunsuz bir geçiş olmasını sağlamanın en sağlam yolu, bölümlendirilmiş ve bölümlendirilmemiş çerezleriniz için farklı adlar kullanmaktır. Örneğin, "example" adında bölümlendirilmemiş bir çereziniz varsa bunu bölümlendirilmiş bir çereze taşıyabilirsiniz.

Set-Cookie: example-partitioned=value;Secure;SameSite=None;MaxAge=34560000;Partitioned

Çerezin geçerlilik süresi programatik olarak açıklanmadığından, yeni çerezin geçerlilik bitiş tarihini, bölümlendirilmemiş çerezin süre sonu tarihiyle aynı zamana denk gelecek şekilde ayarlamanın bir yolu yoktur. Bu işlem sırasında çerezin değerini yenilemek yararlı olabilir.

Hem bölümlendirilmiş hem de bölümlendirilmemiş çerezleri yönetme

Geçiş döneminde, biri bölümlendirilmiş, diğeri ise ayrılmamış olmak üzere iki ayrı senkronize çerez bulundurmayı değerlendirin. Örneğin, hem auth hem de auth-partitioned çerezleriniz olabilir. Bu çerezler Partitioned özelliğiyle ayarlanmıştır.

Değer her güncellendiğinde, her iki çerezi de ayarlamayı denemelisiniz.

  • Üçüncü taraf çerezlerini engelleyen ancak henüz CHIPS'i desteklemeyen istemcilerde: Hiçbir çerez kabul edilmez.
  • Üçüncü taraf çerezlerini engelleyen ve CHIPS'leri destekleyen istemcilerde: auth çerezi reddedilir ancak auth-partitioned çerezi kabul edilir.
  • Üçüncü taraf çerezlerini engellemeyen istemcilerde CHIPS'i destekleyip desteklemediklerinden bağımsız olarak: Hem auth hem de auth-partitioned kabul edilir.

Uygulamanızın kimlik doğrulama çerezini okuması gerektiğinde önce auth-partitioned kodunu aramalısınız. Ancak değişikliği geçici olarak geri çekmek isterseniz geri dönüp auth çerezini arayabilirsiniz.

Kullanıcıların çoğunluğunun çerezlerinin yenilendiğini tespit ettikten sonra auth-partitioned çerezi kullanımdan kaldırılabilir ve Bölümlendirilmiş özellik normal kimlik doğrulama çerezine eklenebilir.