PHP: Cookie
Cookie in PHP
I cookie sono piccoli file di testo salvati sul browser dell’utente. Servono a mantenere informazioni persistenti tra diverse richieste HTTP, come preferenze o identificatori di sessione.
Introduzione ai cookie
Un cookie viene inviato dal server al browser e memorizzato localmente. Ogni volta che l’utente visita nuovamente il sito, il browser invia il cookie al server. PHP gestisce i cookie principalmente tramite la funzione setcookie() e la superglobale $_COOKIE.
Creazione di un cookie
Per creare un cookie si utilizza setcookie(). Il cookie deve essere impostato prima di inviare qualsiasi output al browser.
Codice Esempio: creazione cookie

<?php
setcookie("utente", "Mario Rossi", time() + 3600);
echo "Cookie creato.";
?>
<!-- Output nel browser:
Cookie creato.
-->
Lettura di un cookie
I cookie esistenti possono essere letti tramite la variabile superglobale $_COOKIE.
Codice Esempio: lettura cookie

<?php
if (isset($_COOKIE["utente"])) {
echo "Benvenuto " . $_COOKIE["utente"];
} else {
echo "Cookie non trovato.";
}
?>
<!-- Output nel browser (se cookie esiste):
Benvenuto Mario Rossi
-->
Cancellazione di un cookie
Per cancellare un cookie si imposta la sua scadenza a un tempo passato.
Codice Esempio: cancellazione cookie

<?php
setcookie("utente", "", time() - 3600);
echo "Cookie cancellato.";
?>
<!-- Output nel browser:
Cookie cancellato.
-->
Tabella riassuntiva parametri setcookie()
Parametro | Descrizione | Valori |
---|---|---|
name | Nome del cookie | Stringa (obbligatoria) |
value | Valore associato al cookie | Stringa (facoltativa) |
expires | Timestamp di scadenza (Unix) | Intero (es. time() + 3600 ) |
path | Percorso in cui il cookie è disponibile | Stringa (es. "/", "/app") |
domain | Dominio in cui il cookie è valido | Stringa (es. "example.com") |
secure | Trasmetti solo via HTTPS | true / false |
httponly | Accessibile solo via HTTP (non da JS) | true / false |
samesite | Politica SameSite per sicurezza | "Lax" / "Strict" / "None" |
Considerazioni
I cookie sono utili per memorizzare informazioni persistenti sul lato client, ma vanno usati con attenzione. È consigliato impostare sempre i flag secure e httponly per aumentare la sicurezza.