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

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

Bölümlendirilmiş bir çerez ayarlamak, 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 ayrı çerez kavanozlarında tutulur. Üçüncü taraf çerezleri devre dışı bırakıldığında yalnızca bölümlendirilmiş çerezler kabul edilir. Her iki çerez de mevcutsa programatik olarak hangisinin bölümlendirilmiş olduğunu, hangisinin olmadığını belirlemek 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 kullanım süresini sona erdirin 2. Çerezlerinizi yeniden adlandırma

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

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

  1. Bir HTTP isteğinde gönderilen çerezin bölümlenmiş mi yoksa bölümlenmemiş mi olduğunu programlı olarak belirlemenin bir yolu yoktur. Bununla birlikte, Chrome Geliştirici Araçları'nda bir çerezin bölümlendirilmiş durumunu belirleyebilirsiniz. CookieStore API kullanarak HttpOnly özelliğine sahip olmayan bölümlendirilmiş ve bölümlenmemiş çerezleri birbirinden ayırabilirsiniz.
  2. Bölümlendirilmiş çerezler, bölümlendirilmemiş çerezlerin üzerine yazmaz. Biri Partitioned özelliğine sahipse tamamen aynı olan (yani ad, alan veya yol gibi aynı özelliklere sahip) iki çerez ayrı çerez olarak değerlendirilir.
  3. Aynı ağ çağrısında hem bölümlenmiş hem de bölümlenmemiş bir çerezin aynı ada sahip olduğu durumları önlemek en iyisidir.

Değiştirdiğiniz çerezlerin süresinin dolması

Siteniz veya hizmetiniz adda 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ümlendirilip bölümlendirilmediğini belirlemenin bir yolu olmasa da Set-CookiePartitioned özelliğine sahip üstbilgiler, 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 etkilenmeden nasıl bırakılacağı gösterilmektedir. cookieName adlı yeni bir bölümlendirilmiş çerez, mevcutsa eklenir veya 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ş sağlamak için en güçlü yöntem, bölümlendirilmiş ve bölümlenmemiş ç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 kullanıma sunulmadığından, yeni çerezin geçerlilik süresini, bölümlendirilmemiş çerezin geçerlilik süresiyle aynı zamana denk gelecek şekilde ayarlamanın bir yolu yoktur. Bu işlem sırasında çerezin değerini yenilemek pratik olabilir.

Hem bölümlendirilmiş hem de bölümlenmemiş çerezleri koruma

Geçiş döneminde, bölümlenmiş ve bölümlenmemiş olmak üzere iki ayrı senkronize çerez bulundurabilirsiniz. Örneğin, hem auth hem de auth-partitioned çerezleriniz olabilir. Bu çerezlerden ikincisi Partitioned özelliğiyle ayarlanmıştır.

Değer her güncellendiğinde her iki çerezi de ayarlamayı denemeniz gerekir.

  • Üçüncü taraf çerezlerini engelleyen ancak henüz CHIPS'i desteklemeyen istemcilerde: hiçbir çerez kabul edilmez.
  • Üçüncü taraf çerezlerini engelleyen ve CHIPS'i destekleyen istemcilerde: auth çerezi reddedilir ancak auth-partitioned çerezi kabul edilir.
  • CHIPS'i destekleyip desteklemediklerine bakılmaksızın üçüncü taraf çerezlerini engellemeyen istemcilerde: Hem auth hem de auth-partitioned kabul edilir.

Uygulamanızın kimlik doğrulama çerezini okuması gerektiğinde önce auth-partitioned çerezini aramanız gerekir. Ancak değişikliği geçici olarak geri almanız gerekirse auth çerezini aramaya geri dönebilirsiniz.

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