Cookie

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi Cookie (disambigua).
Esempio di risposta HTTP da google.com che imposta un cookie con degli attributi.

In informatica i cookie HTTP (più comunemente denominati Web cookie, tracking cookie o semplicemente cookie) sono righe di testo usate per eseguire autenticazioni automatiche, tracciatura di sessioni e memorizzazione di informazioni specifiche riguardanti gli utenti che accedono al server, come ad esempio siti web preferiti o, in caso di acquisti via internet, il contenuto dei loro "carrelli della spesa".

Nel dettaglio, sono stringhe di testo di piccola dimensione inviate da un server ad un Web client (di solito un browser) e poi rimandati indietro dal client al server (senza subire modifiche) ogni volta che il client accede alla stessa porzione dello stesso dominio web. Il termine "cookie" – letteralmente "biscotto" – deriva da magic cookie (biscotto magico), concetto noto in ambiente UNIX che ha ispirato sia l'idea che il nome dei cookie HTTP.

Ogni dominio o sua porzione che viene visitata col browser può impostare dei cookie. Poiché una tipica pagina Internet, ad esempio quella di un giornale in rete, contiene oggetti che provengono da molti domini diversi e ognuno di essi può impostare cookie, è normale ospitare nel proprio browser molte centinaia di cookie.

Generalità[modifica | modifica wikitesto]

Poiché possono essere usati per monitorare la navigazione su Internet, i cookie sono oggetto di discussioni concernenti il diritto alla privacy. Molti paesi ed organizzazioni, fra cui gli Stati Uniti e l'Unione Europea, hanno legiferato in merito. I cookie sono stati inoltre criticati perché non sempre sono in grado di identificare l'utente in modo accurato ed inoltre perché possono potenzialmente essere oggetto di attacchi informatici. Esistono alcune alternative ai cookie, ma tutte, insieme ad alcuni vantaggi, presentano controindicazioni.

I cookie vengono spesso erroneamente ritenuti veri e propri programmi e ciò genera errate convinzioni. In realtà essi sono semplici blocchi di dati, incapaci, da soli, di compiere qualsiasi azione sul computer. In particolare non possono essere né spyware, né virus. Ciononostante i cookie provenienti da alcuni siti sono catalogati come spyware da molti prodotti anti-spyware perché rendono possibile l'individuazione dell'utente. I moderni browser permettono agli utenti di decidere se accettare o no i cookie, ma l'eventuale rifiuto rende alcuni oggetti inutilizzabili. Ad esempio, gli shopping cart implementati con i cookie non funzionano in caso di rifiuto.

Caratteristiche[modifica | modifica wikitesto]

Un cookie è un header aggiuntivo presente in una richiesta (Cookie:) o risposta (Set-cookie:) HTTP: nel caso il server voglia assegnare un cookie all'utente, lo aggiungerà tra gli header di risposta. Il client deve notare la presenza del cookie e memorizzarlo in un'area apposita (in genere, si utilizzava una directory dove ogni cookie veniva memorizzato in un file, Attualmente i cookies sono gestiti in maniera molto più evoluta, in un unico file, per esempio Mozilla e Chrome usano SQL - SQLite). Il cookie è composto da una stringa di testo arbitraria, una data di scadenza (oltre la quale non deve essere considerato valido) e un pattern per riconoscere i domini a cui rimandarlo. È possibile impostare più cookie in una sola risposta HTTP.

Il browser client rimanderà il cookie, senza alcuna modifica, allegandolo a tutte le richieste HTTP che soddisfano il pattern, entro la data di scadenza. Il server può quindi scegliere di assegnare il cookie di nuovo, sovrascrivendo quello vecchio. Il reinvio tramite pattern permette a tutti i sottodomini di un dato dominio di ricevere il cookie, se così si vuole.

I cookie vengono utilizzati per aggiungere uno stato ad un protocollo privo di stato. Senza i cookie non vi sarebbe differenza in una pagina caricata prima di effettuare un login, dalla stessa pagina caricata dopo. Dato che i cookie permangono nel sistema per lunghi periodi, i siti possono assegnare un indice all'utente e tenere traccia della sua navigazione all'interno del sito, solitamente allo scopo di creare statistiche.

I cookie possono essere utilizzati anche per tracciare la navigazione su siti terzi, nel caso in cui questi siti terzi utilizzino contenuti provenienti dal sito che ha impostato il cookie. Solitamente la pubblicità sui siti viene gestita da compagnie che hanno inserzioni su svariati siti internet.

Il contenuto della pubblicità stessa viene caricato direttamente dal loro server (tramite una richiesta http) e visualizzato in maniera integrata nel sito che l'utente desidera visitare. In questo modo il server della compagnia pubblicitaria riceverà dal browser dell'utente l'indirizzo della pagina che si sta visualizzando, e potrà inviare un cookie al client. Tramite questo meccanismo le società pubblicitarie possono creare profili personalizzati per gli utenti e mostrare loro pubblicità mirate.

Come è fatto un cookie[modifica | modifica wikitesto]

Contrariamente a quanto comunemente si crede, un cookie non è un piccolo file di testo: può essere sì memorizzato in un file di testo, ma non necessariamente. Nel cookie solitamente possiamo trovare sei attributi:

  • Nome/valore è una variabile ed un campo obbligatorio.
  • Scadenza (expiration date) è un attributo opzionale che permette di stabilire la data di scadenza del cookie. Può essere espressa come data, come numero massimo di giorni oppure come Now (adesso) (implica che il cookie viene eliminato subito dal computer dell'utente in quanto scade nel momento in cui viene creato) o Never (mai) (implica che il cookie non è soggetto a scadenza e questi sono denominati persistenti).
  • Modalità d'accesso (HttpOnly) rende il cookie invisibile a javascript e altri linguaggi client-side presenti nella pagina.
  • Sicuro (secure) indica se il cookie debba essere trasmesso criptato con HTTPS.

Dominio e percorso[modifica | modifica wikitesto]

Il dominio (domain) e il percorso (path), definiscono l'ambito di visibilità del cookie, indicano al browser che il cookie può essere inviato al server solo per il dominio e il percorso indicati. Se non specificati, come predefiniti prendono il valore del dominio e del percorso che li ha inizialmente richiesti. Un esempio di direttiva per la creazione dei cookie da parte di un sito web in seguito al logon di un utente è la seguente:

Set-Cookie: LSID=DQAAAK…Eaem_vYg; Domain=docs.foo.com; Path=/accounts; Expires=Wed, 13-Jan-2021 22:23:01 GMT; Secure; HttpOnly
Set-Cookie: HSID=AYQEVn….DKrdst; Domain=.foo.com; Path=/; Expires=Wed, 13-Jan-2021 22:23:01 GMT; HttpOnly
Set-Cookie: SSID=Ap4P….GTEq; Domain=.foo.com; Path=/; Expires=Wed, 13-Jan-2021 22:23:01 GMT; Secure; HttpOnly
 ......

Il primo cookie LSID ha come dominio predefinito docs.foo.com e percorso /accounts, che indicheranno al browser di usare il cookie solo quando la pagina richiesta contiene docs.foo.com/accounts. Gli altri 2 cookie HSID e SSID potranno essere inviati dal browser al server quando sono visitati, qualsiasi dei sottodomini in .foo.com con qualsiasi percorso, ad esempio www.foo.com/.

I cookie possono essere impostati solo da i domini principali e i loro sottodomini.

Applicazioni e problemi sulla privacy[modifica | modifica wikitesto]

Nel 1994 vennero utilizzati originariamente per controllo, dovevano documentare se i visitatori del sito di Netscape lo avevano già visitato. Nel 1995 la gestione dei cookie è stata integrata in Internet Explorer 2. L'introduzione dei cookie inizialmente non è stata conosciuta da un ampio pubblico, ma se ne iniziò a parlare dopo un articolo pubblicato sul Financial Times il 12 febbraio 1996. Il dibattito che si scatenò aveva come tema le implicazioni dei cookie sulla segretezza. I cookie furono oggetto di due udienze della Commissione degli Stati Uniti in commercio federale nel 1996 e nel 1997. Da queste date si incominciò a regolare gli utilizzi dei cookie.

Oggi le applicazioni più comuni vanno dalla memorizzazione di informazioni sulle abitudini dell'utente stesso all'interno dei siti web che visita. Tali applicazioni hanno spesso sollevato dubbi da parte dei difensori della privacy dei navigatori, infatti un cookie potrebbe aiutarci nella navigazione oppure spiarci. In questo secondo caso rientrano molte catene di pubblicitari (che vendono pubblicità a molti siti differenti) i quali usano un cookie accluso all'immagine pubblicitaria per correlare le visite di uno stesso utente a più siti diversi, costruendo quindi una specie di profilo dei siti più graditi. Altri usi considerati convenienti perché utilizzano il cookie come servizio per l'utente sono per esempio la registrazione dei dati di una sessione per evitare la necessità di una nuova autenticazione in una visita successiva (come fa anche Wikipedia per i suoi utenti registrati), o per mantenere il contenuto del "carrello della spesa" nei siti di commercio elettronico.

Anche il motore di ricerca più famoso del mondo, Google, spedisce un cookie che immagazzina dati riguardanti le ricerche, le parole chiave delle ricerche e le abitudini dell'utente.

Più in dettaglio i diversi utilizzi dei cookie sono dunque:

  • Per riempire il carrello della spesa virtuale in siti commerciali (i cookie ci permettono di mettere o togliere gli articoli dal carrello in qualsiasi momento).
  • Per permettere ad un utente il login in un sito web.
  • Per personalizzare la pagina web sulla base delle preferenze dell'utente (per esempio il motore di ricerca Google permette all'utente di decidere quanti risultati della ricerca voglia visualizzare per pagina).
  • Per tracciare i percorsi dell'utente (tipicamente usato dalle compagnie pubblicitarie per ottenere informazioni sul navigatore, i suoi gusti le sue preferenze. Questi dati vengono usati per tracciare un profilo del visitatore in modo da presentare solo i banner pubblicitari che gli potrebbero interessare).
  • Per la gestione di un sito: i cookie servono a chi si occupa dell'aggiornamento di un sito per capire in che modo avviene la visita degli utenti, quale percorso compiono all'interno del sito. Se il percorso porta a dei vicoli ciechi il gestore se ne può accorgere e può migliorare la navigazione del sito.

Molti dei moderni browser permettono all'utente di decidere quando accettare cookie, ma respingere alcuni cookie non permette l'utilizzo di alcuni siti (prendiamo come esempio l'iscrizione ad un sito web come Wikipedia).

Le impostazioni possono essere personalizzate per abilitarli o bloccarli sempre, entro un determinato periodo di permanenza, per filtrare i siti in base a whitelist e blacklist, e per filtrare cookie che sono utilizzati dallo stesso server o anche da link (spesso pubblicitari) a siti ospitati su server differenti.

È da notare che il funzionamento dei cookie è totalmente dipendente dal browser di navigazione che l'utente usa: in teoria, tale programma può dare all'utente il controllo completo dei cookie e permettere o rifiutare la loro creazione e diffusione. In pratica, il programma di navigazione attualmente più diffuso, ovvero Microsoft Internet Explorer, ha solo una gestione rudimentale dei cookie, mentre alternative meno diffuse (come Opera o Mozilla) danno un maggiore controllo all'utente e permettono di accettare/rifiutare cookie da siti specifici. Anche altri programmi, da usare come proxy, permettono all'utente un grado maggiore di controllo su cosa succede.

Un Tor o un proxy server hanno l'effetto finale, non di cancellare l'indirizzo IP, ma di farne apparire uno differente da quello del proprio computer. Nel caso di rilevazione dell'indirizzo IP, con questi accorgimenti, non si incontra alcuna limitazione nel numero di siti navigabili.

Legislazione Italiana[modifica | modifica wikitesto]

In Italia la norma di riferimento relativamente ai cookie è l’art. 122[1] del D.lgs. 196/2003 che nella sua formulazione a fine maggio 2012 recepisce la direttiva comunitaria 2009/136/CE E-Privacy (che verrà ulteriormente modificata da un regolamento, e quindi non necessita di recepimento, che la Commissione europea sta preparando[2], e che dovrebbe vedere la luce entro il 2013).

Secondo tale articolo sarebbe necessario che l'utente, salvo casi particolari, sia informato e presti esplicitamente il consenso, prima che i cookie vengano salvati. Tale indicazione, pur se tesa a dare maggiori garanzie agli utenti, ha creato allerta negli operatori per il rischio che possa compromettere le modalità di navigazione come le conosciamo oggi[3].

Manipolazioni sui cookie[modifica | modifica wikitesto]

Una procedura di manipolazione sui cookie è la cookie poisoning. Consiste nel modificare i contenuti di un cookie (per esempio le informazioni personali salvate nel computer dell'utente) al fine di eludere i meccanismi di sicurezza. Attraverso questa tecnica, chi attacca può ottenere informazioni private e non autorizzate da un utente, nonché rubare la sua identità digitale. I cookie immagazzinati nel computer dell'utente contengono le informazioni che permettono alle applicazioni di autenticare lo userID, monitorare i comportamenti dell'utente, e personalizzare i contenuti di un sito. In genere, questi dati sono sottoposti a cifratura, ma non sempre gli algoritmi sono sicuri per cui qualche utente con intenzioni malevoli potrebbe carpire i nostri dati e utilizzarli o modificarli. Secondo l’organizzazione The Open Web Application Security Project, comunemente detta OWASP, la manipolazione dei cookie è uno dei 20 attacchi più utilizzati dagli hacker, soprattutto nei sistemi di e-commerce, e serve per identificare l'utente.

Note[modifica | modifica wikitesto]

  1. ^ http://www.normattiva.it/atto/caricaArticolo?art.progressivo=0&art.idArticolo=122&art.versione=2&art.codiceRedazionale=003G0218&art.dataPubblicazioneGazzetta=2003-07-29&atto.tipoProvvedimento=DECRETO%20LEGISLATIVO&art.idGruppo=36&art.idSottoArticolo1=10&art.idSottoArticolo=1&art.flagTipoArticolo=0#art
  2. ^ Article 29 Working Party - Justice
  3. ^ Cookies a prova di privacy: le modifiche introdotte dal D.Lgs. 69/12 (1ª Parte) | CINDI

Collegamenti esterni[modifica | modifica wikitesto]