session_cache_limiter în PHP

Returnează sau setează ce antete de cache trimite session_start: nocache (implicit), private, public sau niciunul.

Sintaxă
session_cache_limiter(?string $value = null): string|false

Ce face session_cache_limiter

Implicit, session_start() trimite antete care interzic păstrarea paginii în cache (nocache), pentru că paginile cu sesiune conțin de obicei date personale. Alte valori: private (doar browserul poate păstra pagina), private_no_expire, public (și serverele intermediare) sau text gol (nu trimite niciun antet de cache).

Se setează înainte de session_start(). Durata cache-ului pentru private și public o setezi cu session_cache_expire.

Parametri

Parametru Descriere
$value Opțional. "nocache", "private", "private_no_expire", "public" sau "".

Ce returnează

Valoarea curentă (sau cea veche, dacă o schimbi).

Exemple

Exemplul 1: Valoarea implicită și schimbarea ei

<?php
$implicit = session_cache_limiter();
session_cache_limiter("private");

echo $implicit . "\n";
echo session_cache_limiter();

Rezultat

nocache
private

Greșeli frecvente

  • Folosești public pe pagini cu date personale. Un proxy sau un CDN poate păstra pagina unui utilizator și o poate arăta altuia.

Comenzi înrudite

  • session_cache_expire: Returnează sau setează durata, în minute, pentru cache-ul paginilor cu sesiune (implicit 180).
  • session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.
  • header: Trimite un antet HTTP către browser: redirecționare, tipul conținutului, descărcare de fișier, cache.