La proprietà cookie() di Javascript
La proprietà cookie() mi permette di leggere o scrivere cookies sul browset tramite javascript.
document.cookie()
Si tratta di una proprietà dell'oggetto document.
Mi consente di leggere, scrivere, modificare o cancellare un cookie del sito web sul browser dell'utente.
I cookies sono uno strumento essenziale nello sviluppo di un sito web per tenere traccia delle sessioni utente e personalizzare l'esperienza di navigazione. Tuttavia, è fondamentale usarli in modo responsabile, tenendo presente la sicurezza e la privacy degli utenti.
Per creare un cookie, mi basta assegnargli una stringa.
document.cookie = "nomeUtente=AndreaMinini; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
In questo caso ho creato un cookie chiamato `nomeUtente` con il valore "AndreaMinini".
Ho anche specificato una data di scadenza molto lontana nel futuro, il che significa che il cookie persisterà nel browser dell'utente per molto tempo, a meno che non venga cancellato manualmente.
Il "path=/" indica che il cookie è disponibile per l'intero sito.
Nota. Di recente sono state introdotte molte leggi sulla privacy degli utenti che regolamentano i cookie. Quindi, prima di usarli è opportuno approfondire le normative.
Viceversa, per leggere un cookie posso semplicemente usare la proprietà
document.cookie
Questo restituisce tutti i cookies del sito in una stringa, con ciascuna coppia chiave-valore separata da un punto e virgola.
Per trovare un cookie specifico, potrebbe essere necessario elaborare la stringa:
let cookies = document.cookie.split('; ');
let nomeUtente = cookies.find(row => row.startsWith('nomeUtente=')).split('=')[1];
console.log(nomeUtente); // RichardFeynman
Per modificare un cookie, mi basta riassegnarlo con un nuovo valore, usando lo stesso nome:
document.cookie = "nomeUtente=AndreaMinini; expires=Fri, 31 Dec 2022 23:59:59 GMT; path=/";
Infine, per cancellare un cookie, imposto la data di scadenza in passato:
document.cookie = "nomeUtente=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
Va detto che i cookies non sono il luogo più sicuro per memorizzare informazioni sensibili, come password o dati personali, a causa di varie vulnerabilità di sicurezza, come gli attacchi di tipo Cross-Site Scripting (XSS).
Quindi, è opportuno usarli con una certa prudenza.