Nazaj na seznam objav

SameSite

SameSite
Na vaši spletni strani vidite opozorilo, ki se nanaša na atribut SameSite, ki je bil uveden za izboljšanje varnosti piškotkov.

Kaj sploh SameSite je?

Atribut SameSite v HTTP glavi piškotkov kontrolira, kdaj se piškotek pošlje z zahtevkom do strežnika, da zaščiti aplikacije pred določenimi varnostnimi ranljivostmi, kot so:

Privzeti način obravnave piškotkov brez SameSite

Če piškotek nima definiranega SameSite atributa, bo brskalnik v prihodnosti obravnaval takšne piškotke kot SameSite=Lax. To pomeni, da:
To opozorilo se pojavlja, ker se bo taka privzeta obravnava kmalu uveljavila.

Potrebna prilagoditev:

Če želite zagotoviti, da bo piškotek vključeno poslan v vseh kontekstih (tudi third-party), morate atribut SameSite nastaviti na None. Hkrati pa je obvezno, da dodate tudi atribut Secure, saj je to varnostna zahteva za piškotke s SameSite=None.

Rešitev v pravem kontekstu:

Dodajte SameSite=None in Secure za third-party uporabo, če piškotek potrebuje dostop tudi iz drugih domen, ga konfigurirajte tako:
Dodajte SameSite=Lax ali SameSite=Strict za omejitev konteksta, če želite, da je piškotek poslan le v lastnem kontekstu, uporabite:

Kako to rešiti v različnih jezikih?

1. PHP

V PHP-ju lahko ta atribut dodate, ko nastavite piškotke, z uporabo funkcije setcookie. Če uporabljate PHP 7.3 ali novejši, lahko dodate SameSite neposredno v konfiguraciji.

setcookie("PH_HPXY_CHECK", "value", [
    "SameSite" => "None",
    "Secure" => true, // Piškotek se pošilja samo prek HTTPS
    "HttpOnly" => true // Izberite glede na vaše potrebe
]);

Za starejše različice PHP-ja:

2. JavaScript

Piškotek lahko nastavite s document.cookie:

3. Nginx konfiguracija

Če piškotke nastavite prek HTTP strežnika (npr. Nginx), lahko dodate SameSite atribut v konfiguraciji strežnika:

4. Apache konfiguracija

Za Apache HTTP strežnik uporabite direktivo Header v konfiguraciji:

Kdaj uporabiti katere vrednosti za SameSite?

1. SameSite=Strict:

Uporabite to nastavitev za piškotke, ki jih želite omejiti samo na zahteve, ki se zgodijo z vašega lastnega spletnega mesta.

2. SameSite=Lax:

To je varna privzeta nastavitev. Piškotek se bo poslal samo pri navigaciji znotraj iste domene. Ne bo poslan pri cross-site zahtevkih.

3. SameSite=None; Secure:

To je edina možnost, če želite, da se piškotek pošlje v third-party kontekstih.

Zaključek:

To opozorilo je tukaj, ker brskalniki, kot je Google Chrome, zdaj privzeto obravnavajo piškotke brez SameSite atributa kot SameSite=Lax. Če vaša aplikacija za pravilno delovanje potrebuje dostop do teh piškotkov v third-party kontekstih (npr. na drugi domeni), morate atribut SameSite nastaviti na None in dodati Secure.
Objavljeno: 2025-01-18 11:27:01