Università degli Studi G.D’Annunzio (Pe)
Corso di Laurea Specialistica in Eco.Informatica
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
INTRODUZIONE AI COOKIE
Cookie:
meccanismo alternativo che i siti Web possono usare per tenere traccia
degli utenti.
La tecnologia dei cookie ha 4 componenti:
1.
2.
3.
4.
Una linea cookie dell’header nel messaggio di risposta HTTP;
Una linea cookie dell’header nel messaggio di richiesta HTTP;
Un file cookie situato nel terminale dell’utente e gestito dal browser
dell’utente;
Un database di back-end(interno, non visibile all’utente) nel sito Web.
Esempio
“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
tal modo le risorse di memoria sul Server.
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.
ANATOMIA DEI COOKIE (cont.)
I cookies in ASP:
oggetto.cookies(nome_del_cookie)[(nome_della_chiave).attributo]
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("pippo")
Cookie semplice
oggetto.cookies("pippo")("anni") Cookie a chiave
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.
ANATOMIA DEI COOKIE (cont.2)
La funzione che ci interessa è solo una: setcookie().
La sua sintassi di base è:
setcookie(Nome, Valore, Espirazione, Percorso, Dominio, Secure);
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).
CREAZIONE DEI COOKIE E ATTRIBUTI
Codice ASP necessario alla creazione del nostro primo cookie:
response.cookies("my_cookies") = "Il mio 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.
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).
CREAZIONE DEI COOKIE
Codice PHP necessario alla creazione del cookie:
setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+360,);
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>.
Esempio ASP-PHP
<%
'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
%>
<?php
setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+360);
echo "<HTML>";
echo "<BODY>";
echo "</BODY>";
echo "</HTML>";
?>
LETTURA DI UN COOKIE
Per leggere il contenuto di un cookie in ASP basta utilizzare la seguente
sintassi:
<%
'Dichiarazione variabili
dim strValore
'Lettura del cookies
strValore= request.cookies("my_cookies")
‘Visualizzazione a video
response.write strValore
%>
Il valore contenuto nel cookies my_cookies viene memorizzato all'interno
della stringa strValore. In questo caso specifico il valore
vienemostrato a video.
LETTURA DI UN COOKIE (cont.)
Per leggere il contenuto di un cookie in PHP basta utilizzare la
seguente sintassi:
<?php
setcookie ("test_cookie","IL MIO PRIMO COOKIE",time()+43200,"/");
echo "<HTML>";
echo "<BODY>";
echo $HTTP_COOKIE_VARS["test_cookie"];
echo "</BODY>";
echo "</HTML>";
?>
Quindi, le informazioni inserite nel campo valore del cookie, verranno
visualizzate,ovviamente, il “valore” è il valore che abbiamo impostato
nel cookie.
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:
<%
response.cookies("www.innovatel.it")("nome")="Andrea"
response.cookies("www.innovatel.it")("cognome")="Carratta"
response.cookies("www.innovatel.it")("email")="[email protected]"
%>
Per leggere il cookies appena scritto possiamo utilizzare due modalità
differenti sia a livello di scrittura codice che a livello di formato del
risultato.
1° Modalità
<%
dim strNome
strNome= request.cookies("www.innovatel.it")("nome")
Risultato a video
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>"
%>
2° Modalità
<%
dim strCookies
strCookies=request.cookies("www.innovatel.it")
response.write strCookies
%>
Risultato a video
Cookie multipli in PHP
<?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>') ;
?>
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) ;
}
?>
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.
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.
The End
Scarica

Cookies - Dipartimento di Matematica e Informatica