SameSite uyarısı Chrome 77


168

Son güncellemeden bu yana, SameSite özniteliğiyle ilgili çerezlerle ilgili bir hata alıyorum.

Çerezler üçüncü taraf geliştiricilerden (Fontawesome, jQuery, Google Analytics, Google reCaptcha, Google Fonts vb.)

Chrome konsolundaki hatalar şu şekildedir.

A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
(index):1 A cookie associated with a cross-site resource at http://jquery.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://fontawesome.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at https://google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at https://www.google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://www.google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://gstatic.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

Yerel makinemde veya sunucumda yapmam gereken bir şey var mı veya kütüphanelerinin gelecekteki sürümlerinde uygulaması gereken bazı özellikler var mı?


9
kodunuzla ilgisi yok. web sunucularının desteklemesi gereken bir şey.
Daniel

Aynı problemim var, bu kodumuzda üçüncü taraf web sitelerini kullanamayacağımız anlamına mı geliyor?
Love2Code

1
Kütüphaneleri sorunsuz kullanabilirsiniz. Konsolun sunucularına @ DanielA.White'ın daha önce söylediği gibi uygulayana kadar atacağı bir uyarı.
peiblox

9
Ve 3. taraf çerezlerini bu tarihe kadar düzeltmezse tam olarak ne olur A future release of Chrome will only deliver ... - sitem kırılacak mı? Görünüşe göre gelecek tarih 02/04/2020 - çok uzakta değil.
JK.

1
@ DanielA.White tarafından belirtildiği gibi, bunun üçüncü taraf kodunda düzeltilmesi gerekir, daha fazla bağlam için bu cevaba bakınız .
Hooman Bahreini

Yanıtlar:


142

Bu konsol uyarısı bir hata veya gerçek bir sorun değil - Chrome, geliştiricinin benimsemesini artırmak için bu yeni standart hakkındaki kelimeyi yayıyor.

Kodunuzla ilgisi yoktur. Web sunucularının desteklemesi gereken bir şey .

Düzeltme için çıkış tarihi 4 Şubat 2020'dir: https://www.chromium.org/updates/same-site

Şubat 2020: Chrome 80 için uygulama sunumu Kararlı: Varsayılan olarak SameSite ve SameSite = Yok-gerektirir-Güvenli davranışları, 17 Şubat 2020 haftasından başlayarak ilk sınırlı nüfus için Chrome 80 Kararlı olmaya başlar . Pazartesi günü ABD Başkanlık Günü tatili. Bu ilk sınırlı aşamadan ekosistem etkisini kademeli olarak artan satışlara kadar yakından izleyeceğiz ve değerlendireceğiz.

Chrome yayın planlamasının tamamı için buraya bakın .

Yanıt başlığını ekleyerek aynı sorunu çözdüm

response.setHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");

SameSitetarayıcının siteler arası isteklerle birlikte çerezi göndermesini önler. Temel amaç, çapraz bilgi sızıntısı riskini azaltmaktır. Ayrıca siteler arası istek sahteciliği saldırılarına karşı da bir miktar koruma sağlar. Bayrak için olası değerler Lax veya Strict'dir.

SameSite çerezleri burada açıklanmıştır

Bakınız bu herhangi bir seçeneği uygulamadan önce.

Umarım bu size yardımcı olur.


39
Çerez ayarlayan üçüncü taraf komut dosyalarını (Google Analytics ve Google Etiket Yöneticisi gibi) çekerken bunun nasıl ele alınabileceği konusunda herhangi bir araştırma yaptınız mı?
BRass

26
yanıt başlığını nereye eklemeliyim? Teşekkürler.
Kris Wen

2
.NET kullanıyorsanız, web.config öğesini eklemek veya IIS'de URL Yeniden Yazma kuralları eklemek bu sorunu giderir. Kredi stackoverflow.com/questions/38954821/…
BDarley

3
JavaScript içermeyen bir çözüm var mı?
posfan12

11
Dostça bir uyarının benim gibi birçok geliştiricinin OKB'sini gerçekten tetiklediğini söylemeliyim. Kirli konsoldaki hayal kırıklığım, bir Google mülkü olan YouTube'u, Google Chrome'da konsol hataları üreten bir suçlu gördüğümde önemli ölçüde artıyor. Bu şekilde konuştum.
Marc

22

Localhost üzerinde test yapıyorsanız ve yanıt üstbilgileri üzerinde denetiminiz yoksa, krom işaretiyle devre dışı bırakabilirsiniz.

URL'yi ziyaret edin ve devre dışı bırakın: chrome: // flags / # same-site-by-default-cookies SameSite by default cookies ekran görüntüsü

Bunu devre dışı bırakmam gerekiyor çünkü Chrome Canary yaklaşık olarak V 82.0.4078.2 itibariyle bu kuralı uygulamaya başladı ve şimdi bu çerezleri ayarlamıyor.

Not: Bu bayrağı yalnızca geliştirme için kullandığım Chrome Canary'de açıyorum. Google'ın tanıttığı aynı nedenlerle günlük Chrome taraması için bayrağı açmamak en iyisidir.


1
Bu bayrağı devre dışı bırakmak ve kanaryayı yeniden başlatmak benim için işe yaramadı -SameSite, bu yüzden de bu sinir bozucu sourcemap sorununu kaldırmak için kullandığım ana "Filtre" kutusuna ekledim => superuser.com/questions/1523427/…
Avolition

4

Rahul Mahadik'in cevabını detaylandırmak için bu MVC5 C # .NET için çalışır:

AllowSameSiteAttribute.cs

public class AllowSameSiteAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var response = filterContext.RequestContext.HttpContext.Response;

        if(response != null)
        {
            response.AddHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
            //Add more headers...
        }

        base.OnActionExecuting(filterContext);
    }
}

HomeController.cs

    [AllowSameSite] //For the whole controller
    public class UserController : Controller
    {
    }

veya

    public class UserController : Controller
    {
        [AllowSameSite] //For the method
        public ActionResult Index()
        {
            return View();
        }
    }

Lütfen benim koduma bakabilir misin? Ayrıca kromun CORS politikasıyla da ilgilidir. stackoverflow.com/questions/60556740/…
Abhay salvi

4

Komut dosyası etiketine crossorigin ekleyerek düzeltildi.

Gönderen: https://code.jquery.com/

<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>

Bütünlük ve çapraz-orijin öznitelikleri Alt Kaynak Bütünlüğü (SRI) denetimi için kullanılır. Bu, tarayıcıların üçüncü taraf sunucularda barındırılan kaynakların tahrif edilmediğinden emin olmalarını sağlar. SRI kullanımı, kütüphaneler üçüncü taraf bir kaynaktan yüklendiğinde en iyi yöntem olarak önerilir. Srihash.org adresinde daha fazla bilgi alabilirsiniz.


srihash.org diyor Ne yazık ki bu etki alanını bilmiyoruz.
Vlad

Komut dosyası etiketini nerede bulabilirim? Web.config dosyasında mı?
CarlD

1
Hata mesajından @CarlD, hangi komut dosyasının hataya neden olduğunu bulun, ardından web sayfasının html kaynağını görüntüleyin
John Magnolia

@ JohnMagnolia Az önce yaptım ve hiçbir şey olmadı.
CarlD
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.