Ürkütücü kurabiye yok

Kurabiyeler en iyi yenidir, peki o zaman ürkütücü mevsimin tadını eski kurabiyeler olmadan çıkarabilmeniz için en yeni tarifler neler?

Kurabiyeler en iyi tazedir, peki ürkütücü mevsimin tadını eski kurabiyeler olmadan da yiyebilmeniz için en yeni tarifler neler?

Web platformunda üçüncü taraf çerezlerini kullanımdan kaldırma yolunda ilerliyoruz. Bu, siteler arası izlemede önemli bir ara hedef olsa da oldukça uzun bir yolculuğun parçası. Ne kadar yol aldığımıza ve gelecekte bizi bekleyen güzel bir şeylere bir göz atalım...

Çerezler ilk başta tarayıcı ile sunucu arasında gönderilen basit bir anahtar/değer deposu sağlar. Bu, bir sitede theme=bats tercihini kaydetme veya oturum açmış bir kullanıcının oturum kimliğini depolama gibi yararlı işlevler sağlayabilir.

Teması=yarasalar veya fav_pumpkins=us-nyc gibi basit bir değer taşıyan üçüncü taraf çerezi

Söz konusu çerez, ayarlandığı sitede kullanılıyorsa, bu çerez genellikle birinci taraf çerezi olarak adlandırılır. Ayarlayandan farklı bir sitenin parçası olarak kullanılıyorsa, buna üçüncü taraf çerezi denir. Örneğin, theme=bats çerezim, ayarlandığı aynı siteyi ziyaret ettiğimde birinci taraf çerez olur, ancak farklı bir sitenin parçası olarak bir iframe'e veya başka bir siteler arası kaynağa eklenirse üçüncü taraf çerezi olur.

Üçüncü taraf çerezlerindeki sorun, siteler arası izlemeyi etkinleştirebilmelerindedir. Paylaşılan hizmet, tema gibi bir şey ayarlamak yerine tanımlayıcının tamamını oraya depolayabilir. Daha sonra aynı tanımlayıcı, paylaşılan hizmet çerezi içeren farklı sitelerde gezindiğinizde gönderilir. Bu, bir hizmetin söz konusu sitelerdeki etkinliğinizi izleyip bağlayabileceği anlamına gelir.

Üçüncü taraf sitesinin, web'de bir kullanıcıyı izlemesine olanak tanıyan benzersiz bir kimlik taşıyan üçüncü taraf çerezi

Varsayılan olarak birinci taraf çerezleri

Buradaki yolculuğumuzda çoktan ilerleme kaydettik. Önceden sadece düz bir çerez (theme=pumpkins) ayarlamak tüm bağlamlara (aynı site veya siteler arası) gönderilirdi. Sitelerin çoğu, çerezlerinin yalnızca aynı site bağlamında gönderilmesini ister. Bu, çerezdeki SameSite özelliği ile kontrol edilebilir. Örneğin:

Set-Cookie: theme=bats; SameSite=Lax

Bu, tarayıcıya, yalnızca kaynak üst düzey siteyle eşleşirse çerezi göndermesini söyler. Ancak bu, sitenin birinci taraf çerezini ne zaman istediğini belirtmesi gerektiği anlamına geliyordu. Daha fazla ayrıcalık istediğinizde bunu yalnızca varsayılan olarak edinmekle yetinmemeniz gerektiğinden, bu, güvenlik açısından biraz geriye dönüktür.

Şimdi, SameSite=Lax varsayılandır. Sadece theme=bats değerini ayarlarsanız yalnızca aynı site bağlamında gönderilir.

Varsayılan SameSite=Lax değeri, üçüncü taraf bağlamında çerez gönderilmesini durdurur

Siteler arası çerez veya üçüncü taraf çerezi istiyorsanız (temanın yerleştirilmiş bir widget'ta görüntülenmesini sağlamanız gerekebilir) şunu belirtmeniz gerekir:

Set-Cookie: theme=bats; SameSite=None; Secure
Açık SameSite=None değeri, çerezleri siteler arası bağlamlarda gönderilecek şekilde işaretler

Bu, tarayıcıya çerezin herhangi bir siteler arası bağlamda gönderilmesini istediğinizi bildirir, ancak biz yalnızca güvenli bağlantılarla kısıtlamak isteriz.

Daha da lezzetli birinci taraf çerezleri

Varsayılan ayar biraz daha iyileşmiş olsa da bu tarifi daha iyi hale getirebilirsiniz. İşte kısa bir ipucu:

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

Bu, yalnızca tek bir alanla sınırlı kalan, bağlantıların güvenli olduğu, JavaScript'in erişimine kapalı, eski olmadan otomatik olarak sona eren ve (Elbette!) yalnızca aynı site bağlamlarında izin verilen birinci taraf çerezine sahip olmanızı sağlar.

ÇİPLER ile kurabiyelerin tadı daha güzel!

Web'in sihirli yanlarından biri, birden çok sitenin bir arada oluşturulabilmesidir. Diğer sitelerin en iyi bal kabağı tarlası turlarını veya şeker mi şaka mı rotalarını göstermesine olanak tanıyan bir harita widget'ı oluşturmak istediğimi düşünelim. Hizmetim, kullanıcıların ilerleme durumlarını kaydedebilmesi için bir çerez kullanıyor. Sorun, aynı üçüncü taraf çerezinin şeker mi şaka mı sitesinde bal kabağı tarlasında da gönderilmesidir. Siteler arasında kullanıcıları izlemek istemiyorum ancak tarayıcı sadece tek bir çerez haznesi kullanıyor. Bu kullanımı ayırabilmem mümkün değil!

SameSite=None içeren siteler arası çerezlerin tümü paylaşılan bir çerez bölmesine gider

Bu noktada, Bağımsız Bölümlendirilmiş Duruma sahip Çerezler veya CHIPS devreye girer. Paylaşılan tek bir çerez jar yerine her üst düzey site için ayrı ve bölümlendirilmiş bir çerez kovası olur. Siteler, çerezlerinde Partitioned özelliğini kullanarak bunu etkinleştirir.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
Çerezdeki Bölümlendirilmiş özelliği, her üst düzey site için ayrı çerez jar'ları oluşturur

Kurabiye kavanozunu paylaşmak yerine herkes kendi kurabiyesini alır. Daha basit, daha güvenli ve daha hijyenik.

Kısa süre önce Chrome 109'daki Bağımsız Bölümlendirilmiş Duruma Sahip Çerezler (CHIPS) için Gönderim Amacı'nı gönderdik. Bu durum, Aralık'ta Beta'da test edilebilecek ve Ocak 2023'te Kararlı için hazır olacağı anlamına geliyor. Bu nedenle, sitenizin kurabiye tarifini daha iyi hale getirmek için yeni bir yıl için bir çözüm arıyorsanız, bunlara bakın ve siteler arası çerezlere CHIPS serpmeye başlayıp başlayamayacağınızı kontrol edin!

Birinci Taraf Gruplar ile ilgili tarafa çerezleri davet etme

Geliştiricilerden aldığımız geri bildirimler konusunda, pek çok kullanıcı, kontrol ettiğiniz sitelerde hizmetleri paylaştığınız ve bu sitelerde çerezleri kullanabilmek ancak gerçek üçüncü taraf bağlamında gönderilmelerine izin vermemek istediğiniz durumlar olduğunu da açıkça ifade etmişti. Örneğin, pretty-pumpkins.com ve pretty-pumpkins.co.uk alanlarınız olabilir. Bu sitelerde çalışan çerez tabanlı tek oturum açma sisteminiz olabilir. İki sitede de oturum açmam gerekeceği için CHIPS çalışmaz.

Bunu mümkün kılmak için Birinci Taraf Grup teklifi üzerinde çalışıyoruz. Tek bir kaynak denemesi ve topluluk tartışması yaşadık. Bu süreçte şu hedeflere ulaşmayı amaçlayan en yeni versiyon:

  • Kuruluşlara, birbirleriyle aynı taraf olan bir site grubu tanımlamaları için bir yol sağlayın.
  • Bu birinci taraf grubundaki siteler arası çerezlere erişim istemek için Storage Access API'den yararlanın.
First-Party Sets, yalnızca ilgili siteler arasında paylaşılan bir çerez jar'ına izin verir

Bu çerezlerin hepsi fırında pişmeye devam ediyor ancak test edebileceğiniz başka şeyler olduğunda Birinci Taraf Grup geliştirici kılavuzuna göz atabilir veya tartışmaya katkıda bulunmak isterseniz WICG/first-party-sets önerisine geçebilirsiniz.

Kurabiyelerinizin eskimesine izin vermeyin!

Amacımız, 2024'ün ortalarında Chrome'da üçüncü taraf çerezlerine yönelik desteği kademeli olarak sona erdirmeye başlamak. Hazırlanmak için zaman var ancak şimdiden planlamaya başlamalısınız.

  1. SameSite=None kullanarak kodunuzda çerez olup olmadığını denetleyin. Bunlar, güncelleme gerektirecek çerezler.
  2. Üçüncü taraf çerezleriniz yoksa aynı site çerezlerinin en iyi Birinci taraf kurabiye tariflerini kullandığından emin olun
  3. Bu çerezleri tamamen barındırılan, yerleştirilmiş bir bağlamda kullanıyorsanız CHIPS teklifini araştırıp test edin.
  4. Tek bir uyumlu grup oluşturan birden fazla sitede bu çerezlere ihtiyacınız varsa Birinci Taraf Grup teklifini araştırın.
  5. Bu seçeneklerden hiçbiri sizin için uygun değilse siteler arası izlemeye dayalı olmayan ayrı kullanım alanları için amaca yönelik API'ler geliştirdiğimiz diğer Özel Korumalı Alan tekliflerini araştırmanız gerekir.

Bu sadece kısa bir genel bakıştır. Süreç ilerledikçe daha fazla haber ve yol gösterici bilgiler paylaşmaya devam edeceğiz. Sorularınız varsa veya sorunlarınız varsa ya da kendi çalışmalarınızın sonuçlarını paylaşmak istiyorsanız iletişime geçebileceğiniz birçok rotamız mevcuttur.

Unutmayın: Kurabiye lezzetli olabilir, ama tek seferde yalnızca birkaç kurabiye olabilir ve kesinlikle başkasınınkini çalmaya çalışmayın!