asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 3852
ASPCode.it - Store

  > > Articoli

I Cookie

Data di pubblicazione: 08/06/2001        Voto della community: 3,63 (Votanti: 28)


Un cookie è un semplice file di testo che può contenere fino a 4 Kb di dati; esso risiede sul disco rigido e il browser vi accede solo se il sito remoto lo richiede. Un buon numero di persone si oppone ai cookie per questioni di privacy. Queste persone sostengono che, tramite i cookie, la società proprietaria del sito può venire a conoscenza dell'identità e delle abitudini dell'utente. Il problema sta nel fatto che le tecnologie quali ASP, per funzionare al meglio si affidano proprio ai cookie: ogni volta che si apre una sessione con un server ASP, si riceve un cookie, il quale viene utilizzato per collegare il browser con la memoria del server. Quindi, un blocco di questo tipo causerebbe il collasso di quasi tutte le funzioni ASP.

ABILITAZIONE AI COOKIE

Per verificare se il browser dell'utente che visita il nostro sito ha i cookies abilitati o meno è possibile sfruttare la variabile HTTP_COOKIE della collezione ServerVariables dell'oggetto Request. Ecco un esempio di codice che invia un messaggio di avvertimento al browser nel caso egli abbia i cookies non abilitati:

<%
if Request.ServerVariables("HTTP_COOKIE") = "" then
  Response.Write "Attenzione, Cookie non abilitati!"
end if
%>

CREARE UN COOKIE

La creazione dei cookie deve avvenire prima di qualsiasi tag html, a meno che non venga impostata la proprietà Buffer dell'oggetto Response uguale a True; analizziamo ora come è possibile creare un cookie:

<%
Response.Cookies("MyCookie") = "Il mio primo cookie"
%>
<html>
<head>
  <title>Creazione di un cookie</title>
</head>
<body>
Il contenuto del cookie creato è:
<%
Response.Write(Request.Cookies("MyCookie"))
%>
</body>
</html>

Abbiamo appena creato il cookie MyCookie dandogli il valore "Il mio primo cookie"; nella pagina html mostriamo poi il contenuto di tale cookie per accertarci della sua effettiva creazione. A tale cookie non è stata assegnata una data di scadenza e quindi esso è di tipo non permanente e non verrà creato alcun file. Per rendere il cookie "permanente" è necessario utilizzare il seguente codice ASP:

<%
Response.Cookies("MyCookie") = "Il mio primo cookie"
Response.Cookies("MyCookie").Expires = DateAdd("d", 7, Date)
%>
<html>
<head>
  <title>Creazione di un cookie</title>
</head>
<body>
Il contenuto del cookie creato è:
<%
Response.Write(Request.Cookies("MyCookie"))
%>
Il cookie scadrà fra una settimana.
</body>
</html>

Queso codice crea un cookie uguale al precedente, ma in più ne setta la data di scadenza, addizionando sette giorni alla data corrente. Il cookie scadrà alla mezzanotte del giorno specificato basandosi sul fuso orario della zona in cui si trova il server. Nella proprietà expires è possibile includere anche un orario; in questo caso è necessario sostituire "d" con lo specificatore che desideriamo ("h" per le ore, "n" per i minuti oppure "s" per i secondi) e Date con Now.

Un'altra importante proprietà dei cookies, è che all'interno di un cookie è possibile inserire più di un valore, tramite una indicizzazione del cookie stesso; vediamo un esempio:

<%
Response.Cookies("MyCookie")("Nome") = "Paolo Capitani"
Response.Cookies("MyCookie")("URL") = "www.aspcode.it"
Response.Cookies("MyCookie")("email") = "email@aspcode.it"
Response.Cookies("MyCookie").Expires = DateAdd("d", 7, Date)
%>

MODIFICARE IL COOKIE

Una volta che il cookie è stato creato, modificarne il suo valore è molto semplice, in quanto si applica lo stesso codice utilizzato per crearlo:

<%
Response.Cookies("MyCookie") = "Il mio primo cookie modificato"
Response.Cookies("MyCookie").Expires = DateAdd("d", 7, Date)
%>
<html>
<head>
  <title>Modifica di un cookie</title>
</head>
<body>
Il contenuto del cookie modificato è:
<%
Response.Write(Request.Cookies("MyCookie"))
%>
</body>
</html>

ELIMINARE IL COOKIE

Anche l'eliminazione del cookie è semplice, in quanto è sufficiente assegnare al cookie una stringa vuota:

<%
Response.Cookies("MyCookie") = ""
%>
<html>
<head>
  <title>Eliminazione di un cookie</title>
</head>
<body>
Il cookie è stato eliminato!
</body>
</html>




Utenti connessi: 3852