I modi per utilizzare i cookies
Nell’articolo della settimana scorsa abbiamo visto cosa siano i cookies e quali implicazioni vi siano nell’utilizzarli o nell’accettare che i siti che frequentiamo possano utilizzarli per gestire informazioni che ci riguardano.
In generale esistono due modalità per chiedere ad un browser la memorizzazione o la lettura di informazioni sul client attraverso un cookie, la prima consiste nel produrre una richiesta server side che viene spedita al client attraverso l’header HTTP, la seconda invece consiste nello scrivere codice Javascript all’interno della pagina HTML che vogliamo si occupi della gestione del cookie.
Vediamo i componenti fondamentali di questa gestione.
Scrivere un cookie
Per scrivere un cookie sul client è necessario utilizzare uno script di questo tipo:
function setCookie(NameOfCookie, value, expiredays)
{
var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));document.cookie = NameOfCookie + “=”
+ escape(value) +
((expiredays == null) ? “”: “;
expires=” + ExpireDate.toGMTString());
}/
Per settare un cookie si utilizza l’oggetto document.cookie in scrittura e si crea un nuovo cookie con il nome NameOfCookie, il valore value e la data di scadenza expiredays.
Per automatizzare il processo è stata scritta la funzione setCookie che, come si può vedere fa esattamente quanto è stato descritto.Leggere un cookie
Per leggere un cookie sul client, invece, si utilizza uno script di questo tipo:
function getCookie(NameOfCookie){
if (document.cookie.length > 0)
{
begin = document.cookie.indexOf(NameOfCookie+”=”);
if (begin != -1)
{
begin += NameOfCookie.length+1;
end = document.cookie.indexOf(“;”, begin);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(begin, end));
}
}
return null;
}/
In questo caso la funzione getCookie utilizza l’oggetto document.cookie in lettura cercando almeno un cookie che abbia il nome giusto, cioè quello che abbiamo passato come parametro.
Nel caso esista un cookie con quel nome viene restituito il valore associato al nome stesso.Eliminare un cookie
I cookies si possono ovviamente eliminare dal sistema, par ottenere questo risultato si utilizza uno script di questo tipo:
function delCookie (NameOfCookie) {
if (getCookie(NameOfCookie))
{
document.cookie = NameOfCookie +
“=” + “; expires=Thu, 01-Jan-70 00:00:01 GMT”;
}
}/
In questo caso, semplicemente, se il cookie esiste viene rimosso dal sistema.
Compito a casa
Adesso abbiamo tutti gli elementi per creare una pagina HTML che la prima volta che viene chiamata ci chieda il nostro nome e le volte successive sappia riconoscerci chiamando ci per nome.
Naturalmente deve essere anche possibile una sorta di “logout”, cioè fare in modo che la pagina distrugga l’informazione che le avevamo dato e quindi ci chieda nuovamente chi siamo.Pubblicheremo volentieri le vostre soluzioni a questo semplice quesito.