Cara mengatasi atribut `SameSite`

9

Saya melihat konsol dan memperhatikan peringatan ini

Cookie yang dikaitkan dengan sumber daya lintas situs di http://google.com/ ditetapkan tanpa atribut SameSite. Rilis Chrome di masa mendatang hanya akan mengirimkan cookie dengan permintaan lintas situs jika ditetapkan dengan SameSite = Tidak Ada dan Aman. Anda dapat meninjau cookie dalam alat pengembang di bawah Aplikasi> Penyimpanan> Cookie dan melihat rincian lebih lanjut di https://www.chromestatus.com/feature/5088147346030592 dan https://www.chromestatus.com/feature/563352162218808032 .

Bagaimana cara mengatasinya?

Tiago
sumber
Lihat ini: web.dev/samesite-cookies-explained Ini mungkin ada hubungannya dengan nama domain Anda dan TLD.
vS12
@ vS12 Apakah akan menambahkan ini di awal kode saya? github.com/GoogleChromeLabs/samesite-examples/blob/master/…
Tiago
Saya kira begitu, karena sudah diatur di header permintaan.
vS12
Edit teks minor untuk kejelasan
Tedinoz

Jawaban:

3

Solusi yang bekerja untuk saya:

Jika Anda menggunakan PHP, tambahkan baris ini ke awal

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


Perbarui Di Sini adalah sumber daya yang berguna termasuk contoh dalam JavaScript, Node.js, PHP, dan Python
https://github.com/GoogleChromeLabs/samesite-examples

Josh Stovall
sumber
4
Masih berlanjut. Saya meletakkan kode di awal file index.php dan masih kesalahan berlanjut.
Tiago
Ini tidak akan berfungsi untuk sumber daya eksternal yang belum mengubah pengaturan cookie mereka. Lihat github.com/GoogleChromeLabs/samesite-examples/issues/…
Mike Kormendy
3

Tidak ada yang dapat Anda lakukan sampai pengembang / admin Google (dan pengembang / admin sumber daya eksternal lainnya) memodifikasi skrip / server mereka untuk memasukkan pengaturan cookie yang diperlukan ke cookie yang mereka hasilkan ketika situs web Anda memasukkannya. Lihat di sini info lebih lanjut:

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

Jika Anda melakukan debug situs web Anda, Anda dapat mengabaikan entri tersebut untuk sementara di konsol alat pengembang Chrome dengan menambahkan filter ini ke kotak filter:

-SameSite=None

Sebagai contoh:

Contoh -SameSite = Tidak ada filter di konsol alat pengembang Chrome

Mike Kormendy
sumber
1

Apakah file .htaccess Anda berisi tajuk kode cookie yang belum disetel? dan Anda menggunakan cdn dan cache-nya seperti cloudflare.

Jika demikian, hapus saja kode di htaccess

Hans Ganteng
sumber
Halo, saya tidak menggunakan cloudflare. Apa itu?
Tiago
Saya pikir tautan ini adalah jawaban terbaik untuk stackoverflow.com/questions/24129201/...
Hans Ganteng
Lihat apakah aku benar. Di dalam htacess saya, saya menambahkan baris ini Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"?
Tiago