"Aynı site" tanımı, URL şemasını içerecek şekilde değişmektedir. Bu nedenle, bir sitenin HTTP ve HTTPS sürümleri arasındaki bağlantılar artık siteler arası istekler olarak sayılmaktadır. Mümkün olduğunda sorunlardan kaçınmak için varsayılan olarak HTTPS'ye yükseltin veya hangi SameSite özellik değerlerinin gerektiğiyle ilgili ayrıntılar için okumaya devam edin.
Şemalı Same-Site, bir web sitesinin (web) tanımını yalnızca kaydedilebilir alan adından, şema + kaydedilebilir alan adıyla değiştirir. Daha fazla ayrıntı ve örneği "same-site" ve "same-origin"i anlama bölümünde bulabilirsiniz.
İyi haber: Web siteniz zaten HTTPS'ye tamamen yükseltilmişse hiçbir şey için endişelenmenize gerek yoktur. Sizin açınızdan hiçbir değişiklik olmayacak.
Web sitenizi henüz tam olarak yükseltmediyseniz öncelik bu olmalıdır.
Ancak site ziyaretçilerinizin HTTP ve HTTPS arasında geçiş yapacağı durumlar varsa bu yaygın senaryolardan bazıları ve ilişkili
SameSite çerez davranışı aşağıda özetlenmiştir.
Hem Chrome'da hem de Firefox'ta test etmek için bu değişiklikleri etkinleştirebilirsiniz.
- Chrome 86'da
about://flags/#schemeful-same-siteözelliğini etkinleştirin. İlerleme durumunu Chrome Durumu sayfasından izleyebilirsiniz.
- Firefox 79'da
about:configaracılığıyla
network.cookie.sameSite.schemefuldeğerini
trueolarak ayarlayın. İlerleme durumunu Bugzilla sorunu üzerinden takip edebilirsiniz.
Çerezler için varsayılan olarak
SameSite=Lax olarak yapılan değişikliğin ana nedenlerinden biri, Siteler Arası İstek Sahtekarlığına (CSRF) karşı koruma sağlamaktı. Bununla birlikte, güvenli olmayan HTTP trafiği, ağ saldırganlarına sitenin güvenli HTTPS sürümünde kullanılacak çerezlerle kurcalama fırsatı sunmaya devam eder. Şemalar arasında bu ek siteler arası sınırın oluşturulması, bu saldırılara karşı daha fazla savunma sağlar.
Şemalar arası sık karşılaşılan senaryolar
Gezinme
Bir web sitesinin şemalar arası sürümleri arasında gezinmek (örneğin, http://site.example ile https://site.example arasında bağlantı oluşturmak) önceden
SameSite=Strict çerezlerinin gönderilmesine olanak tanıyordu. Bu, artık siteler arası gezinme olarak kabul edildiğinden
SameSite=Strict çerezlerinin engelleneceği anlamına gelir.
|HTTP → HTTPS
|HTTPS → HTTP


SameSite=Strict
|⛔ Engellendi
|⛔ Engellendi


SameSite=Lax
|✓ İzin verilir
|✓ İzin verilir


SameSite=None;Secure
|✓ İzin verilir
|⛔ Engellendi
Alt kaynaklar yükleniyor
Tam HTTPS sürümüne yükseltmeye çalışırken burada yaptığınız değişiklikler yalnızca geçici bir düzeltme olarak kabul edilmelidir.
Alt kaynaklara örnek olarak resimler, iframe'ler ve XHR veya Fetch ile yapılan ağ istekleri verilebilir.
Bir sayfada şemalar arası alt kaynak yüklemek önceden
SameSite=Strict veya
SameSite=Lax çerezlerinin gönderilmesine ya da ayarlanmasına izin veriyordu. Artık bu işlem, diğer üçüncü taraf veya siteler arası alt kaynaklarla aynı şekilde işlenir. Bu, tüm
SameSite=Strict veya
SameSite=Lax çerezlerinin engelleneceği anlamına gelir.
Ayrıca tarayıcı, güvenli olmayan şemalardan gelen kaynakların güvenli bir sayfaya yüklenmesine izin verse bile, bu isteklerde üçüncü taraf veya siteler arası çerezler
Secure kullanılmasını gerektirdiğinden tüm çerezler engellenir.
|HTTP → HTTPS
|HTTPS → HTTP


SameSite=Strict
|⛔ Engellendi
|⛔ Engellendi


SameSite=Lax
|⛔ Engellendi
|⛔ Engellendi


SameSite=None;Secure
|✓ İzin verilir
|⛔ Engellendi
Form YAYINLAMA
Bir web sitesinin şemalar arası sürümleri arasında yükleme yapmak, önceden
SameSite=Lax veya
SameSite=Strict ile ayarlanan çerezlerin gönderilmesine izin veriyordu. Şimdi bu, siteler arası bir POST olarak işlenir; yalnızca
SameSite=None çerez gönderilebilir. Varsayılan olarak güvenli olmayan sürümü sunan ancak oturum açma veya çıkış formunu gönderdikten sonra kullanıcıları güvenli sürüme yükselten sitelerde bu senaryoyla karşılaşabilirsiniz.
Alt kaynaklarda olduğu gibi, istek güvenliden (ör. HTTPS) güvenli olmayan bir içeriğe (ör. HTTP) gidiyorsa üçüncü taraf veya siteler arası çerezler
Secure gerektirdiğinden bu isteklerde tüm çerezler engellenir.
|HTTP → HTTPS
|HTTPS → HTTP


SameSite=Strict
|⛔ Engellendi
|⛔ Engellendi


SameSite=Lax
|⛔ Engellendi
|⛔ Engellendi


SameSite=None;Secure
|✓ İzin verilir
|⛔ Engellendi
Sitemi nasıl test edebilirim?
Geliştirici araçları ve mesajlaşma özelliği Chrome ve Firefox'ta kullanılabilir.
Chrome 86'dan itibaren DevTools'daki Sorunlar sekmesinde Schemeful Same-Site sorunları yer alacaktır. Siteniz için aşağıdaki sorunların vurgulandığını görebilirsiniz.
Gezinme sorunları:
- "Aynı site isteklerinde çerezlerin gönderilmeye devam etmesi için tamamen HTTPS'ye geç": Chrome'un gelecekteki bir sürümünde çerezin engelleneceğini belirten bir uyarı.
- "Çerezlerin aynı site isteklerinde gönderilmesi için tamamen HTTPS'ye geç": Çerezin engellendiği bir uyarı.
Alt kaynak yükleme sorunları:
- "Çerezlerin aynı site alt kaynaklarına gönderilmesine devam etmek için tamamen HTTPS'ye taşı" veya "Çerezlerin aynı site alt kaynakları tarafından ayarlanmasına izin vermeye devam etmek için tamamen HTTPS'ye taşı": Çerezin Chrome'un gelecekteki bir sürümünde engelleneceğine dair uyarılar.
- "Çerezlerin aynı site alt kaynaklarına gönderilmesi için tamamen HTTPS'ye taşı" veya "Çerezlerin aynı site alt kaynakları tarafından ayarlanmasına izin vermek için tamamen HTTPS'ye taşı": Çerezin engellendiğine dair uyarılar. İkinci uyarı, bir formu YAYINlarken de görünebilir.
Daha fazla ayrıntıyı Schemeful Same-Site için Test ve Hata Ayıklama İpuçları bölümünde bulabilirsiniz.
Firefox 79'da,
network.cookie.sameSite.schemeful
about:config aracılığıyla
true değerine ayarlandığında konsol,
Schemeful Aynı Site sorunları için mesaj görüntüler.
Sitenizde aşağıdakileri görebilirsiniz:
- "Şema eşleşmediğinden
cookie_nameçerezi,
http://site.example/adresine karşı siteler arası çerez olarak yakında ele alınacaktır."
- "
cookie_nameçerezi, şema eşleşmediğinden
http://site.example/adresine göre siteler arası olarak değerlendirildi."
SSS
Sitem zaten HTTPS'de tamamen kullanılabiliyor. Neden tarayıcımın Geliştirici Araçları'nda sorunlarla karşılaşıyorum?
Bağlantılarınız ve alt kaynaklarınızdan bazıları hâlâ güvenli olmayan URL'lere işaret ediyor olabilir.
Bu sorunu düzeltmenin bir yolu HTTP Strict-Transport-Security (HSTS) ve
includeSubDomain yönergesini kullanmaktır. HSTS +
includeSubDomain kullanıldığında, sayfalarınızdan biri yanlışlıkla güvenli olmayan bir bağlantı içerse bile tarayıcı otomatik olarak bunun yerine güvenli sürümü kullanır.
HTTPS'ye yükseltemezsem ne olur?
Kullanıcılarınızı korumak için sitenizi tamamen HTTPS'ye yükseltmenizi önemle tavsiye etsek de, kendiniz yapamıyorsanız bu seçeneği sunup sunmadıklarını öğrenmek için barındırma sağlayıcınızla konuşmanızı öneririz. Kendi şirketinizi barındırıyorsanız Let's Encrypt, sertifika yüklemek ve yapılandırmak için çeşitli araçlar sunar. Sitenizi bir CDN veya HTTPS bağlantısı sağlayabilecek başka bir proxy arkasına taşımayı da araştırabilirsiniz.
Bu hâlâ mümkün değilse etkilenen çerezlerde
SameSite korumasını gevşetmeyi deneyin.
- Yalnızca
SameSite=Strictçerezlerin engellendiği durumlarda, korumayı
Laxdeğerine düşürebilirsiniz.
- Hem
Stricthem de
Laxçerezlerinin engellendiği ve çerezlerinizin güvenli bir URL'ye gönderildiği (veya güvenli bir URL'den ayarlandığı) durumlarda, korumaları
Nonedeğerine düşürebilirsiniz.
- Çerezleri gönderdiğiniz (veya bunları ayarladığınız) URL güvenli değilse bu çözüm başarısız olur. Bunun nedeni,
SameSite=Noneürününün çerezlerde
Secureözelliğini gerektirmesidir. Bu, söz konusu çerezlerin güvenli olmayan bir bağlantı üzerinden gönderilemeyeceği veya ayarlanamayacağı anlamına gelir. Bu durumda, siteniz HTTPS sürümüne geçene kadar bu çereze erişemezsiniz.
- Bunun geçici bir durum olduğunu unutmayın. Bunun nedeni, üçüncü taraf çerezlerinin kullanımdan kaldırılmasıdır.
- Çerezleri gönderdiğiniz (veya bunları ayarladığınız) URL güvenli değilse bu çözüm başarısız olur. Bunun nedeni,
Bir
SameSite özelliği belirtmediysem bu durum çerezlerimi nasıl etkiler?
SameSite özelliği olmayan çerezler,
SameSite=Lax değerini belirtmiş gibi değerlendirilir ve aynı şema arası davranış bu çerezler için de geçerlidir. Güvenli olmayan yöntemlere yönelik geçici istisnanın hâlâ geçerli olduğunu unutmayın. Daha fazla bilgi için Chromium'la ilgili
SameSite SSS sayfasındaki Lax + POST etkisini azaltma bölümüne bakın.
WebSockets nasıl etkilenir?
WebSocket bağlantıları sayfayla aynı güvenlik düzeyine sahipse yine de aynı site olarak kabul edilir.
Aynı site:
https://kaynağından
wss://bağlantı
http://kaynağından
ws://bağlantı
Çapraz site:
http://kaynağından
wss://bağlantı
https://kaynağından
ws://bağlantı