I cookie sono piccoli file di testo che i siti web memorizzano nel browser dell'utente per salvare informazioni come preferenze, sessioni di accesso e tracciamento delle attività. In JavaScript, è possibile leggere, scrivere e cancellare i cookie utilizzando la proprietà document.cookie
.
Come Creare un Cookie
Per creare un cookie in JavaScript, basta assegnare una stringa alla proprietà document.cookie
:
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2025 23:59:59 GMT; path=/";
Questa riga di codice crea un cookie chiamato username
con il valore JohnDoe
, che scadrà alla data specificata e sarà accessibile in tutto il sito (path=/
).
Come Leggere i Cookie
Per ottenere i cookie memorizzati nel browser, si utilizza nuovamente document.cookie
:
console.log(document.cookie);
Il valore restituito è una stringa con tutti i cookie disponibili per il dominio corrente, separati da punto e virgola.
Come Modificare un Cookie
Per modificare un cookie, basta riscriverlo con lo stesso nome ma con un nuovo valore:
document.cookie = "username=JaneDoe; expires=Fri, 31 Dec 2025 23:59:59 GMT; path=/";
Il cookie username
avrà ora il valore aggiornato.
Come Eliminare un Cookie
Per eliminare un cookie, si imposta la sua data di scadenza a una data passata:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/";
Questo metodo invalida il cookie e lo rimuove dal browser.
Limitazioni e Considerazioni
- I cookie hanno una dimensione massima di circa 4 KB.
- Possono essere letti solo dal dominio che li ha impostati (same-origin policy).
- Non sono il metodo più sicuro per memorizzare informazioni sensibili.
Utilizzo della API document.cookie
con JavaScript
Un esempio di funzione per gestire i cookie in modo più comodo:
function setCookie(name, value, days) {
let expires = "";
if (days) {
let date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
let nameEQ = name + "=";
let ca = document.cookie.split(';');
for(let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function deleteCookie(name) {
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/";
}
Queste funzioni permettono di impostare, ottenere e cancellare un cookie in modo più strutturato.
Conclusione
I cookie sono un potente strumento per la gestione delle informazioni lato client, ma devono essere usati con attenzione per garantire la sicurezza e la privacy degli utenti. È consigliato l'uso di tecniche più sicure come LocalStorage o sessionStorage quando i dati non devono essere inviati al server.