Ce face session_set_cookie_params
Forma recomandată primește un tablou cu cheile lifetime, path, domain, secure, httponly și samesite. Setările se aplică doar cookie-ului trimis de următorul session_start() din scriptul curent.
Pentru un site pe HTTPS, secure și httponly ar trebui să fie mereu true, iar samesite "Lax" sau "Strict". Durata (lifetime) privește doar cookie-ul; datele de pe server expiră după session.gc_maxlifetime.
Parametri
| Parametru | Descriere |
|---|---|
$lifetime_or_options |
Tabloul de opțiuni sau, în forma veche, durata în secunde. |
$path, $domain, $secure, $httponly |
Opțional, în forma veche: restul setărilor. |
Ce returnează
true la succes, false dacă antetele au fost trimise sau sesiunea e deja activă.
Exemple
Exemplul 1: Cookie de sesiune sigur, valabil o oră
<?php
session_set_cookie_params([
"lifetime" => 3600,
"path" => "/",
"secure" => true,
"httponly" => true,
"samesite" => "Lax",
]);
$p = session_get_cookie_params();
echo "Durată: {$p['lifetime']} s, SameSite: {$p['samesite']}";
Rezultat
Durată: 3600 s, SameSite: Lax
Greșeli frecvente
- Setezi
lifetimela o săptămână și te miri că utilizatorii sunt deconectați după 24 de minute. Datele de pe server expiră dupăsession.gc_maxlifetime; crește și această setare.
Comenzi înrudite
session_get_cookie_params: Returnează setările cookie-ului de sesiune: durată, cale, domeniu, secure, httponly, samesite.session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.setcookie: Trimite browserului un cookie: o valoare mică pe care browserul o păstrează și o trimite înapoi la fiecare cerere.