Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Atribut SameSite untuk Kuki PHP?

Bagaimana untuk Melaksanakan Atribut SameSite untuk Kuki PHP?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 20:26:29182semak imbas

How to Implement the SameSite Attribute for PHP Cookies?

Atribut Tapak Sama untuk Kuki PHP

RFC 6265 memperkenalkan atribut "Tapak Sama" untuk kuki, yang meningkatkan keselamatan kuki dengan menyekat pemalsuan permintaan merentas tapak (CSRF) serangan.

Sokongan PHP:

Untuk PHP >= v7.3:

Fungsi setcookie() menyokong atribut "Same Site" melalui tatasusunan $options. Nilai yang sah ialah:

  • Tiada
  • Lax
  • Tegas

Untuk PHP < v7.3:

Disebabkan pengehadan teras PHP, beberapa penyelesaian tersedia:

Konfigurasi Apache:

Tambah baris berikut ke ubah suai semua kuki dengan atribut "Same Site":

Header always edit Set-Cookie (.*) "; SameSite=Lax"

Konfigurasi Nginx:

Kemas kini konfigurasi untuk memasukkan:

proxy_cookie_path / "; secure; HttpOnly; SameSite=strict";

Kaedah Pengepala:

Anda boleh menetapkan kuki secara eksplisit menggunakan pengepala:

header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");

Mengeksploitasi Pepijat:

Menggunakan kaedah setcookie() lapuk yang memanfaatkan pepijat:

setcookie('cookie-name', '1', 0, '/; samesite=strict');

Nota: Pepijat ini diselesaikan dalam PHP 7.3.

Rujukan:

  • [Status Chrome: Dokumentasi ciri](https://www.chromestatus.com/feature/5633521622188032)
  • [Draf HTTPbis](https://tools.ietf.org/ html/draft-west-first-party-cookies)
  • [Draf terbaharu HTTPbis](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis)
  • [Manual PHP: setcookie()](https://php.net/manual/en/function.setcookie.php)

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Atribut SameSite untuk Kuki PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn