Bagaimana saya bisa menyelesaikan peringatan lintas cookie Google Analytics `SameSite = Tidak Ada` di Chrome di Apache 2.4 dan PHP 7.1?

14

Situs web klien saya mendapatkan peringatan cookie SameSite ini di Chrome. Saya telah mencari di seluruh dan saya tidak bisa mendapatkan peringatan untuk pergi. Cookie ini disebabkan oleh Pelacakan Konversi Iklan Google di Situs Wordpress. Situs ini menggunakan Apache / 2.4.7 (Ubuntu) yang diselenggarakan oleh DreamHost yang menjalankan PHP 7.1 untuk alasan kompatibilitas. Ke file .htaccess saya, saya sudah mencoba menambahkan:

Header always edit Set-Cookie (.*) "$1; SameSite=None"

dan saya mencoba

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

... dan saya mencoba

Header always edit Set-Cookie (.*) "$1; SameSite=None;Secure"

serta banyak kombinasi lainnya termasuk SameSite = Lax

Satu panduan merekomendasikan untuk PHP 7.2 dan di bawah ini:

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

Tapi itu memberi saya 500 Internal Server Erorr.

Namun saya masih mendapatkan tiga kesalahan berikut:

Cookie yang terkait dengan sumber daya lintas situs di ditetapkan tanpa SameSiteatribut. Rilis Chrome di masa mendatang hanya akan mengirimkan cookie dengan permintaan lintas situs jika diatur dengan SameSite=Nonedan Secure. Anda dapat meninjau cookie dalam alat pengembang di bawah Aplikasi> Penyimpanan> Cookie dan melihat rincian lebih lanjut di dan.

(indeks): 1 Cookie yang dikaitkan dengan sumber daya di http://doubleclick.net/ ditetapkan dengan SameSite=Nonetetapi tanpa Secure. Rilis Chrome di masa mendatang hanya akan mengirimkan cookie yang ditandai SameSite=Nonejika juga ditandai Secure. Anda dapat meninjau cookie dalam alat pengembang di bawah Aplikasi> Penyimpanan> Cookie dan melihat rincian lebih lanjut di https://www.chromestatus.com/feature/5633521622188032 .

(indeks): 1 Cookie yang dikaitkan dengan sumber daya di http://google.com/ ditetapkan dengan SameSite=Nonetetapi tanpa Secure. Rilis Chrome di masa mendatang hanya akan mengirimkan cookie yang ditandai SameSite=Nonejika juga ditandai Secure. Anda dapat meninjau cookie dalam alat pengembang di bawah Aplikasi> Penyimpanan> Cookie dan melihat rincian lebih lanjut di https://www.chromestatus.com/feature/5633521622188032 .

Dalam penelitian saya, tampaknya ada informasi terbatas tentang peringatan tersebut, dan dalam panduan yang tersedia, saya tidak yakin apakah saya harus mengidentifikasi cookie berdasarkan nama atau cara memperbaiki cookie / header di sumbernya.

Benson
sumber

Jawaban:

10

Saya mendapat respons dari Google Chrome Labs setelah saya memposting pertanyaan serupa di halaman github mereka .

Cookie yang memicu peringatan datang dari google.com sehingga Anda tidak akan dapat mengubahnya. Tim Iklan mengetahui masalah ini dan berupaya memperbaiki cookie mereka sebelum tanggal stabil Februari 2020. Ini juga berarti bahwa tidak ada arahan header yang Anda tentukan akan memengaruhi cookie google.com, itu hanya akan mencakup cookie yang ditetapkan untuk situs Anda.

Jika Anda memiliki peringatan cookie apa pun yang secara khusus mencantumkan domain yang Anda kontrol, maka Anda perlu menambahkan atribut yang benar. - rowan-m

Benson
sumber
1

Saya akan melihat skrip pelacak. Berikut adalah bagian tentang lalu lintas lintas-domain di dokumen gtag.js. Pastikan hanya domain yang ada dan tidak ada www, http, dll.

gtag('set', 'linker', {
  'domains': ['example.com', 'example-b.com']
});
Ususipse
sumber
0

Sudahkah Anda mencoba yang berikut?

Header Set Access-Control-Allow-Origin "*"
Header Set Access-Control-Allow-Credentials: true
Header set Set-Cookie: "ACookieAvailableCrossSite; SameSite=None; Secure"

Peringatan Konsol tidak berarti bahwa ada sesuatu yang rusak. situs Anda terus berfungsi seperti yang diharapkan.

Semoga tautan ini akan membantu Anda. Samesite-cookies-ByDefault

Krishnan
sumber
Di mana Anda mengatakan ACookieAvailableCrossSite, saya berasumsi saya tidak menggunakan istilah yang sebenarnya? Saya memiliki sekitar 10 nama cookie yang terkait dengan nama google, apakah saya perlu menambahkan masing-masing? Akan seperti apa sintaksis itu?
Benson
Access-Control-Allow- digunakan untuk cookie lintas situs. Seperti yang Anda lihat di baris pertama, ini memungkinkan semua domain. Jadi, Anda tidak perlu menambahkan masing-masing.
Krishnan
1
Sebagian besar situs web memiliki masalah yang sama. Saya harap ini akan diperbaiki oleh google sendiri. Lihat saja peringatan konsol stackoverflow di google chrome. Di sana Anda dapat melihat peringatan yang sama.
Krishnan