SameSite-Warnung Chrome 77

168

Seit dem letzten Update ist ein Fehler mit Cookies im Zusammenhang mit dem SameSite-Attribut aufgetreten.

Die Cookies stammen von Drittentwicklern (Fontawesome, jQuery, Google Analytics, Google reCaptcha, Google Fonts usw.).

Die Fehler in der Chrome-Konsole sind wie folgt.

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.

Muss ich auf meinem lokalen Computer oder Server etwas tun oder ist dies nur eine Funktion, die sie in zukünftigen Versionen ihrer Bibliotheken implementieren sollten?

Peiblox
quelle
9
nichts mit deinem Code zu tun. Es ist etwas, das ihre Webserver unterstützen müssen.
Daniel A. White
Ich habe das gleiche Problem. Bedeutet dies, dass wir in unserem Code keine Websites von Drittanbietern verwenden können?
Love2Code
1
Sie können die Bibliotheken problemlos verwenden. Es ist nur eine Warnung, die die Konsole auslöst, bis sie dies auf ihren Servern implementiert, wie @ DanielA.White zuvor sagte.
Peiblox
9
Und was genau passiert, wenn der Dritte seine Cookies nicht bis zu dem Datum repariert, an dem A future release of Chrome will only deliver ... - wird meine Website beschädigt? Es sieht so aus, als ob das zukünftige Datum der 04.02.2020 ist - nicht zu weit entfernt.
JK.
1
Wie von @ DanielA.White erwähnt, muss dies im Code eines Drittanbieters behoben werden. Weitere Informationen finden Sie in dieser Antwort .
Hooman Bahreini

Antworten:

142

Diese Konsolenwarnung ist kein Fehler oder ein tatsächliches Problem. Chrome verbreitet lediglich das Wort über diesen neuen Standard, um die Akzeptanz bei Entwicklern zu erhöhen.

Es hat nichts mit Ihrem Code zu tun. Es ist etwas, das ihre Webserver unterstützen müssen.

Veröffentlichungsdatum für einen Fix ist der 4. Februar 2020 unter: https://www.chromium.org/updates/same-site

Februar 2020: Durchsetzungs-Rollout für Chrome 80 Stable: Das Verhalten SameSite-by-Default und SameSite = None-require-Secure wird ab der Woche vom 17. Februar 2020 für eine anfänglich begrenzte Population mit Ausnahme von Feiertag des US-Präsidententags am Montag. Wir werden die Auswirkungen des Ökosystems ab dieser anfänglich begrenzten Phase durch schrittweise Erhöhung der Einführung genau überwachen und bewerten.

Den vollständigen Release-Zeitplan für Chrome finden Sie hier .

Ich habe das gleiche Problem gelöst, indem ich den Antwortheader hinzugefügt habe

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

SameSiteverhindert, dass der Browser das Cookie zusammen mit standortübergreifenden Anforderungen sendet. Das Hauptziel besteht darin, das Risiko eines Informationsverlusts zwischen verschiedenen Ursprüngen zu verringern. Es bietet auch einen gewissen Schutz gegen grenzüberschreitende Fälschungsangriffe. Mögliche Werte für das Flag sind Lax oder Strict.

SameSite-Cookies werden hier erklärt

Bitte beachten Sie dies, bevor Sie eine Option anwenden.

Hoffe das hilft dir.

Rahul Mahadik
quelle
39
Haben Sie nachgeforscht, wie dies beim Abrufen von Skripten von Drittanbietern zum Setzen von Cookies (wie Google Analytics und Google Tag Manager) gehandhabt werden kann?
Messing
26
Wo soll ich den Antwortheader hinzufügen? Vielen Dank.
Kris Wen
2
Wenn Sie möglicherweise .NET verwenden, können Sie dieses Problem beheben, indem Sie die Datei web.config anhängen oder URL-ReWrite-Regeln in IIS hinzufügen. Gutschrift geht an die Lösung unter stackoverflow.com/questions/38954821/…
BDarley
3
Gibt es eine Lösung ohne JavaScript?
Posfan12
11
Ich muss sagen, dass eine freundliche Warnung die OCD vieler Entwickler wie mir wirklich auslöst. Meine Frustration über die schmutzige Konsole steigt erheblich, wenn ich YouTube, eine Google-Eigenschaft, einen Täter sehe, der Konsolenfehler in Google Chrome generiert. So habe ich gesprochen.
Marc
22

Wenn Sie auf localhost testen und keine Kontrolle über die Antwortheader haben, können Sie diese mit einem Chrome-Flag deaktivieren.

Besuchen Sie die URL und deaktivieren Sie sie: chrome: // flags / # same-site-by-default-cookies Screenshot von SameSite-Cookies standardmäßig

Ich muss es deaktivieren, da Chrome Canary gerade erst mit der Durchsetzung dieser Regel ab ca. V 82.0.4078.2 begonnen hat und diese Cookies jetzt nicht mehr gesetzt werden.

Hinweis: Ich aktiviere dieses Flag nur in Chrome Canary, das ich für die Entwicklung verwende. Es ist am besten, die Flagge für das tägliche Surfen in Chrome nicht aus den gleichen Gründen zu aktivieren, aus denen Google sie einführt.

Wille
quelle
1
Die Deaktivierung dieser Flagge und der Neubelebung der Kanarienvogel für mich nicht funktioniert hat, so dass ich nur hinzugefügt , -SameSiteum das Haupt Feld „Filter“, die auch dieses lästige Problem sourcemap zu entfernen habe ich => superuser.com/questions/1523427/...
Avolition
4

Um die Antwort von Rahul Mahadik zu erläutern, funktioniert dies für MVC5 C # .NET:

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
    {
    }

oder

    public class UserController : Controller
    {
        [AllowSameSite] //For the method
        public ActionResult Index()
        {
            return View();
        }
    }
Joel Wiklund
quelle
Können Sie sich bitte meinen Code ansehen? Es hängt auch mit der CORS-Richtlinie von Chrome zusammen. stackoverflow.com/questions/60556740/…
Abhay salvi
4

Behoben durch Hinzufügen von Crossorigin zum Skript-Tag.

Von: https://code.jquery.com/

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

Die Integritäts- und Crossorigin-Attribute werden für die Überprüfung der Subresource Integrity (SRI) verwendet. Auf diese Weise können Browser sicherstellen, dass auf Servern von Drittanbietern gehostete Ressourcen nicht manipuliert wurden. Die Verwendung von SRI wird als Best Practice empfohlen, wenn Bibliotheken von einer Quelle eines Drittanbieters geladen werden. Lesen Sie mehr unter srihash.org

John Magnolia
quelle
srihash.org sagt Leider kennen wir diese Domain nicht.
Vlad
Wo finde ich das Skript-Tag? Ist es in der web.config?
CarlD
1
@CarlD Finden Sie in der Fehlermeldung heraus, welches Skript den Fehler verursacht, und zeigen Sie dann die HTML-Quelle der Webseite an
John Magnolia
@ JohnMagnolia Ich habe es gerade getan und nichts ist passiert.
CarlD