• Non ci sono risultati.

ANATOMIA DEI COOKIE

N/A
N/A
Protected

Academic year: 2021

Condividi "ANATOMIA DEI COOKIE"

Copied!
19
0
0

Testo completo

(1)

Università degli Studi G.D’Annunzio (Pe)

Corso di Laurea Specialistica in Eco.Informatica

(2)

Indice:

• Introduzione ai cookie

• Anatomia dei Cookie

• Creazione dei Cookie e Attributi

• Lettura di un Cookie

• Esempi pratici in Php

• Esempi tramite immagini in Asp

• I Cookie multi-chiave

• Consigli sui cookie

• I Cookie e la privacy

(3)

Cookie:

meccanismo alternativo che i siti Web possono usare per tenere traccia degli utenti.

La tecnologia dei cookie ha 4 componenti:

1. Una linea cookie dell’header nel messaggio di risposta HTTP;

2. Una linea cookie dell’header nel messaggio di richiesta HTTP;

3. Un file cookie situato nel terminale dell’utente e gestito dal browser dell’utente;

4. Un database di back-end(interno, non visibile all’utente) nel sito Web.

INTRODUZIONE AI COOKIE

“Dove lavorano i cookie?”

I cookies vengono generati e letti sul Server Side (Lato Server - SS) sul quale è posto il nostro sito web, ma vengono

memorizzati sul Client Side (Lato utente - CS) ottimizzando in

Esempio

(4)

ANATOMIA DEI COOKIE

Vediamo le 2 possibili strutture (in ASP) che possiamo avere ed usare nei cookie:

• Cookie semplice: questa tipologia è possibile paragonarla ad una variabile normale (NO ARRAY), dal momento che per accedere ad

esso oltre al nome del cookie desiderato non bisogna specificare nessun indice o chiave.

• Cookie con chiave: questa tipologia, può essere paragonata ad una variabile di tipo ARRAY, in quanto sia in questa tipologia che negli array, per accedere al dato desiderato bisogna specificare oltre al

nome assegnatoli anche un indice o una chiave d’accesso per riconoscere univocamente il dato.

(5)

ANATOMIA DEI COOKIE (cont.)

I cookies in ASP:

per capire questa istruzione (senza entrare nello specifico della sintassi ASP = “Active Server Page”), bisogna dire che i cookie sono un metodo di 2 oggetti, presenti nell’ASP.

1. Addetto alla creazione e quindi scrittura.

2. Addetto al compito di leggere i cookie precedentemente scritti.

Dopo aver indicato il metodo cookie dobbiamo indicare il suo nome principale.

oggetto.cookies(nome_del_cookie)[(nome_della_chiave).attributo]

oggetto.cookies("pippo")

oggetto.cookies("pippo")("anni")

Cookie semplice

Cookie a chiave

(6)

ANATOMIA DEI COOKIE (cont.1)

I cookies in PHP:

Anche il PHP consente di gestire i cookies, piccoli file di

testo contenenti informazioni utili e non dannose per la gestione delle sessioni sul web.

Essendo il PHP un linguaggio nato per l'interazione con il WWW, le funzioni relative ai Cookies sono interne al PHP stesso.

(7)

La funzione che ci interessa è solo una: setcookie().

La sua sintassi di base è:

Vediamo di chiarire le opzioni che si possono passare alla funzione:

– Nome è il nome del cookie, che può essere arbitrariamente scelto;

– Valore è il valore, anch'esso arbitrario, da assegnare al cookie;

– Espirazione è la data di espirazione del cookie;

– Percorso è la directory, dalla quale si invia il cookie all’utente finale;

– Dominio è il dominio dal quale il cookie è stato creato;

– Secure è un valore che imposta se il cookie debba essere inviato tramite una connessione sicura (HTTPS).

ANATOMIA DEI COOKIE (cont.2)

setcookie(Nome, Valore, Espirazione, Percorso, Dominio, Secure);

(8)

CREAZIONE DEI COOKIE E ATTRIBUTI

response.cookies("my_cookies") = "Il mio primo cookie !"

Codice ASP necessario alla creazione del nostro primo cookie:

grazie a questa riga il Server invierà al lato utente un cookies avente nome my_cookies e al suo interno memorizzato il valore "Il mio primo cookie!".

Ora dobbiamo capire quali sono e come si usano i relativi attributi all'interno dei cookies in ASP.

– Domain: Grazie a questa opzione è possibile specificare da quale dominio è stato creato il cookie. Questo attributo è di sola scrittura e quindi non è possibile leggerlo in un secondo momento.

(9)

CREAZIONE DEI COOKIE…(cont.1)

• Expires: Grazie a questo attributo, è possibile stabilire la data di scadenza dei nostri cookies. Questo attributo è di sola

scrittura.

• HasKeys: Con questo attributo è possibile specificare se il cookies da noi creato è a chiave oppure no. Il formato di questo attributo è di tipo booleano (True o False) ed è di sola scrittura.

• Path: Con questo attributo è possibile specificare il percorso dal quale il cookie viene mandato all'utente finale. Questo attributo è di sola scrittura.

• Secure: Grazie a questo attributo è possibile specificare se il cookie inviato è sicuro oppure no, ovvero, è un valore che imposta se il cookie debba essere inviato tramite una connessione HTTPS (Protocollo Sicuro).

(10)

CREAZIONE DEI COOKIE

Codice PHP necessario alla creazione del cookie:

Grazie a questa riga inviamo dalla nostra pagina un cookie chiamato

“test_cookie", con valore “IL MIO PRIMO COOKIE", con espirazione di 360 secondi dal momento dell'invio.

Fra i 6 valori da passare come argomento al cookie, solamente il primo è obbligatorio, gli altri possono essere lasciati bianchi se non sono di

particolare interesse.

Per l'invio di un cookie, è necessario che questo venga inviato al browser prima di qualsiasi output: è quindi necessario inserire la funzione prima di ogni tag <HTML> o <HEAD>.

setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+360,);

(11)

<%

'Invio del cookie (assegnazione del valore)

response.cookies("my_cookies")="mio cookies"

'Definizione del Expires (scadenza tra 1 anno esatto)

response.cookies("my_cookies").Expires = dateAdd("yyyy",1, date) 'Definizione del secure

response.cookies("my_cookies").Secure = true

%>

Esempio ASP-PHP

<?php

setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+360);

echo "<HTML>";

echo "<BODY>";

echo "</BODY>";

echo "</HTML>";

(12)

LETTURA DI UN COOKIE

Per leggere il contenuto di un cookie in ASP basta utilizzare la seguente sintassi:

Il valore contenuto nel cookies my_cookies viene memorizzato all'interno della stringa strValore. In questo caso specifico il valore vienemostrato a video.

<%

'Dichiarazione variabili dim strValore

'Lettura del cookies

strValore= request.cookies("my_cookies") ‘Visualizzazione a video

response.write strValore

%>

(13)

LETTURA DI UN COOKIE (cont.)

Per leggere il contenuto di un cookie in PHP basta utilizzare la seguente sintassi:

Quindi, le informazioni inserite nel campo valore del cookie, verranno visualizzate,ovviamente, il “valore” è il valore che abbiamo impostato nel cookie.

<?php

setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+43200,"/");

echo "<HTML>";

echo "<BODY>";

echo $HTTP_COOKIE_VARS["test_cookie"];

echo "</BODY>";

echo "</HTML>";

?>

(14)

I COOKIE MULTI CHIAVE

Ora vedremo come applicare quanto visto in precedenza sui cookies multi-chiave per quanto riguarda l’ASP.

Scrittura cookie utilizzando le chiavi:

Per leggere il cookies appena scritto possiamo utilizzare due modalità differenti sia a livello di scrittura codice che a livello di formato del risultato.

<%

response.cookies("www.innovatel.it")("nome")="Andrea"

response.cookies("www.innovatel.it")("cognome")="Carratta"

response.cookies("www.innovatel.it")("email")="webmaster@innovatel.it"

%>

(15)

<%

dim strNome

strNome= request.cookies("www.innovatel.it")("nome") dim strCognome

strCognome= request.cookies("www.innovatel.it")("cognome") dim strMail

strMail= request.cookies("www.innovatel.it")("email") response.write strNome & "<br>"

response.write strCognome & "<br>"

response.write strMail & "<br>"

%>

1° Modalità Risultato a video

<%

dim strCookies

strCookies=request.cookies("www.innovatel.it") response.write strCookies

%>

2° Modalità

Risultato a video

(16)

<?php /***

pagina

"sendcookie.php"

***/

setcookie ("saluto[italiano]", "ciao!");

setcookie ("saluto[inglese]", "hello!");

setcookie ("saluto[spagnolo]", "hola!");

echo('<a href="getcookie.php">Vai a getcookie.php</a>') ;

?>

Cookie multipli in PHP

Il risultato di questo codice è quello di inviare 3 differenti cookie, ma al momento di leggere i loro valori questi saranno comodamente reperibili all'interno di un array che li raccoglie come fossero uno solo, ecco in quale modo:

<?php /***

pagina "getcookie.php"

***/

echo("Elenco saluti<br><br>");

foreach ($_COOKIE["saluto"] as $key => $value){

echo("Il saluto ".$key." è ".$value) ; }

?>

(17)

CONSIGLI SUI COOKIE

Non esiste una regola o un metodo preciso per fissare la scadenza del cookie. Bisogna prima di tutto vedere in che ambito si colloca il web, ogni quanto il visitatore potrebbe tornare a visitarlo.

Non è obbligatorio fissare la scadenza del cookie. Nel caso in cui la scadenza non viene fissata, il cookies si comporta come una variabile di sessione, con la differenza che la variabile di sessione cessa di esistere dopo un tempo predefinito, mentre il cookies cessa di esistere con la chiusura del browser di navigazione.

(18)

I COOKIE e LA PRIVACY

Sebbene i cookie spesso semplifichino la pratica dello shopping

elettronico per l’utente, essi rimangono molto controversi in quanto possono essere visti come un'intromissione nella privacy dell'utente.

Usando una combinazione di cookie e di informazioni fornite dall'utente, un sito Web può apprendere molte cose su questi.

L'aspetto forse più pericoloso consiste nella possibilità di creare profili dettagliati degli utenti e delle loro abitudini di navigazione:

ogni click può aggiungere un dettaglio ulteriore ad un profilo di qualche navigatore.

Questi dati vengono generalmente utilizzati al fine di stabilire il design migliore per il sito Web, ma esiste la possibilità che questi profili vengano venduti ad altre società commerciali. Infatti se

riusciesce a collegare, l'identità dell'utente al suo cookie (identificato dal numero ID), si può far acquistare a questa informazione un

notevole valore economico e rivenderla a terzi.

(19)

The End

Riferimenti

Documenti correlati

Ai fini delle leggi sulla protezione dei dati, noi e ŠKODA AUTO siamo i &#34;contitolari del trattamento” delle informazioni personali dell'utente per tutti questi cookie,

Altri cookie analytics di terza parte sono, invece, installati sul Sito solo con il tuo previo consenso preventivo, perché essi non sono anonimizzati, potendo

This information is used to make sure our Services can cope with the volume of users, to help us correct errors in the Services and to. measure use across

Per questo motivo, quando accedi al Sito viene visualizzato in evidenza un apposito banner, che ti informa che (i) sul Sito sono utilizzati dei cookie analytics di terze parti e

navigation or session cookies, which provide normal navigation and fruition of the       website, analytics cookies, similar to technical cookies when used directly from the      

Ti  preghiamo  di  considerare  che,  effettuando  i  login  sul  Sito  attraverso  le  credenziali  di  un  social  network  a  cui  sei  iscritto,  riceverai 

Altri cookie analytics di terza parte sono, invece, installati sul Sito solo con il tuo previo consenso preventivo, perché essi non sono anonimizzati, potendo

Potranno essere installati, dal nostro sito internet o dai relativi sottodomini, cookie tecnici, cookie di terze parti e, nel caso in cui l’Interessato