| ‘Cookie’ in inglese
significa biscotto, pasticcino, e i cookies sono dei ‘biscotti’
che vengono dati da mangiare al vostro PC, e che contengono dei dati
che possono essere riletti successivamente. Possono contenere delle
iinformazioni che possono essere utili, quando tornate sul sito che
li ha prodotti, per ricordare le vostre preferenze, o per ricordare
dei dati che sono specifici di quel sito.
C’è a questo proposito da
sfatare il mito che dice che tramite i cookies sarebbe possibile
leggere il contenuto del disco del PC: niente di più falso (virus a
parte):può essere letto solo il contenuto dei cookies e, inoltre,
solo quelli scritti dallo stesso server.
Per leggere e scrivere i cookies,
si utilizzano due oggetti ASP: l’oggetto 'Response.Cookies'
per scrivere e l’oggetto 'Request.Cookies' per leggere.
Esistono due tipi di cookies:
quelli a valore singolo e quelli a valore multiplo: i primi sono
quelli che contengono un solo valore, associato al nome, i secondi
quelli che oltre ad avere un nome, hanno anche più ‘chiavi’,
ciascuna con un suo valore.
La sintassi di scrittura dei cookie
è: Response.Cookies(cookie)[(chiave)] = valore - dove 'cookie' è
il nome del cookie, 'chiave' è il nome (opzionale) della chiave e
'valore' è il valore del cookie (o della chiave) stesso. Se non
viene specificata la chiave, per un cookie che invece ne ha, viene
presentato in output il valore di tutte le chiavi, separate da un
'&' - se invece viene fatta una 'Response.Cookie' senza chiavi
per un cookie che prima ne aveva, il cookie viene riscritto senza
chiavi (quelle presenti vengonmo perse)
esempi:
| Response.Cookies("primo")("chiave1")
= "il primo" |
| Response.Cookies("secondo")
= "il secondo" |
Nel primo esempio viene scritto un
cookie di nome "primo" con una chiave di nome
"chiave1" con valore "il primo", nel secondo
esempio viene scritto un cookie di nome "secondo" con con
valore "il secondo". Per vedere la differenza basta
eseguire una 'request.cookies'. Quello che segue è un esempio:
Request.Cookies("primo")("chiave1")
questo produrrà in output solo il valore della chiave 'chiave1' del
cookie 'primo'
Response.Cookies("primo")
questo invece produrrà in output tutte le chiavi del cookie 'primo',
separate da un '&'
Ma, per chiarirci le idee ecco un
esempio 'vivo':
<%
Response.Cookies("primo")("uno") =
"alfa"
Response.Cookies("primo")("due") =
"beta"
Response.Cookies("secondo")="gamma"
For Each chiave In Request.Cookies
Response.Write chiave & " = " &
Request.Cookies(chiave) & "<BR>"
If Request.Cookies(chiave).HasKeys
Then
For Each sottochiave In Request.Cookies(chiave)
Response.Write "->"
& chiave & "(" & sottochiave &
") = " & _
Request.Cookies(chiave)(sottochiave)
& "<BR>"
Next
End If
Next
%>
|
Notate il metodo 'haskeys': serve
per capire se il cookie è di tipo con chiavi o senza.
Provate a salvare questo esempio nella cartella di default del
vostro web server (di solito inetpub\wwwroot), con un nome
che finisca per '.asp', richiamatela col vostro browser di
fiducia....et voila ! Dovreste ottenere un output come il seguente:
primo =
due=beta&uno=alfa
->primo(due) = beta
->primo(uno) = alfa
secondo = gamma |
Nella prossima puntata vedremo le
varie opzioni dei metodi Response e Request relativi ai cookies. |