So lösen Sie das Attribut "SameSite"

9

Ich schaute auf die Konsole und bemerkte diese Warnungen

Ein Cookie, das einer standortübergreifenden Ressource unter http://google.com/ zugeordnet ist, wurde ohne das SameSite-Attribut gesetzt. Eine zukünftige Version von Chrome liefert Cookies mit standortübergreifenden Anforderungen nur, wenn sie mit SameSite = None und Secure festgelegt sind. Sie können Cookies in Entwicklertools unter Anwendung> Speicher> Cookies überprüfen. Weitere Informationen finden Sie unter https://www.chromestatus.com/feature/5088147346030592 und https://www.chromestatus.com/feature/5633521622188032 .

Wie man es löst?

Tiago
quelle
Siehe hierzu: web.dev/samesite-cookies-explained Es hat wahrscheinlich mit Ihrem Domainnamen und Ihrer TLD zu tun.
vS12
@ vS12 Würde es dies am Anfang meines Codes hinzufügen? github.com/GoogleChromeLabs/samesite-examples/blob/master/…
Tiago
Ich denke schon, weil es in den Headern der Anfrage gesetzt ist.
vS12
Kleinere Textbearbeitung für Klarheit
Tedinoz

Antworten:

3

Eine Lösung, die für mich funktioniert hat:

Wenn Sie PHP verwenden, fügen Sie diese Zeile am Anfang hinzu

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');


Update Hier finden Sie eine nützliche Ressource mit Beispielen in JavaScript, Node.js, PHP und Python
https://github.com/GoogleChromeLabs/samesite-examples

Josh Stovall
quelle
4
Geht weiter. Ich habe den Code am Anfang der Datei index.php eingefügt und die Fehler bleiben weiterhin bestehen.
Tiago
Dies funktioniert nicht für externe Ressourcen, deren Cookie-Einstellung nicht geändert wurde. Siehe github.com/GoogleChromeLabs/samesite-examples/issues/…
Mike Kormendy
3

Sie können nichts tun, bis die Entwickler / Administratoren von Google (und Entwickler / Administratoren anderer externer Ressourcen) ihre Skripte / Server so ändern, dass die erforderlichen Cookie-Einstellungen in die Cookies aufgenommen werden, die sie generieren, wenn Ihre Website sie enthält. Weitere Informationen finden Sie hier:

https://github.com/GoogleChromeLabs/samesite-examples/issues/4#issuecomment-548598318

Wenn Sie Ihre Website debuggen, können Sie diese Einträge in der Entwicklertools-Konsole von Chrome vorübergehend ignorieren, indem Sie diesen Filter zum Filterfeld hinzufügen:

-SameSite=None

Zum Beispiel:

Beispiel für den Filter -SameSite = None in der Chrome-Entwicklertools-Konsole

Mike Kormendy
quelle
1

Enthält Ihre .htaccess-Datei einen nicht gesetzten Header-Cookie-Code? und Sie verwenden cdn und seinen Cache wie Cloudflare.

Wenn ja, löschen Sie einfach den Code im htaccess

Hans Ganteng
quelle
Hallo, ich benutze kein Cloudflare. Was kann es sein?
Tiago
Ich denke, dieser Link ist die beste Antwort für diesen Stackoverflow.com/questions/24129201/…
Hans Ganteng
Sehen Sie, ob ich es richtig mache. In meinem htacess füge ich diese Zeile hinzu Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"?
Tiago