VBScript e cookie

Cosa sono i cookie?

I browser Web e i server utilizzano il protocollo HTTP per comunicare e HTTP è un protocollo senza stato. Ma per un sito web commerciale, è necessario mantenere le informazioni sulla sessione tra pagine diverse. Ad esempio, la registrazione di un utente termina dopo aver completato molte pagine. Ma come mantenere le informazioni sulla sessione dell'utente in tutte le pagine web. In molte situazioni, l'utilizzo dei cookie è il metodo più efficiente per ricordare e tracciare preferenze, acquisti, commissioni e altre informazioni necessarie per una migliore esperienza dei visitatori o statistiche del sito.

Come funziona?

Il tuo server invia alcuni dati al browser del visitatore sotto forma di cookie. Il browser può accettare il cookie. In caso affermativo, viene memorizzato come record di testo normale sul disco rigido del visitatore. Ora, quando il visitatore arriva a un'altra pagina del tuo sito, il browser invia lo stesso cookie al server per il recupero. Una volta recuperato, il tuo server sa / ricorda cosa è stato memorizzato in precedenza. I cookie sono un record di dati di testo semplice di 5 campi di lunghezza variabile -

  • Expires- La data in cui scadrà il cookie. Se questo è vuoto, il cookie scadrà quando il visitatore chiude il browser.

  • Domain - Il nome di dominio del tuo sito.

  • Path- Il percorso della directory o della pagina web che ha impostato il cookie. Questo può essere vuoto se desideri recuperare il cookie da qualsiasi directory o pagina.

  • Secure- Se questo campo contiene la parola "secure", il cookie può essere recuperato solo con un server sicuro. Se questo campo è vuoto, non esiste alcuna restrizione di questo tipo.

  • Name=Value - I cookie vengono impostati e recuperati sotto forma di coppie chiave e valore.

I cookie sono stati originariamente progettati per la programmazione CGI ei dati dei cookie vengono trasmessi automaticamente tra il browser Web e il server Web, quindi gli script CGI sul server possono leggere e scrivere i valori dei cookie memorizzati sul client.

VBScript può anche manipolare i cookie utilizzando la proprietà cookie dell'oggetto Document . VBScript può leggere, creare, modificare ed eliminare il cookie oi cookie che si applicano alla pagina Web corrente.

Memorizzazione dei cookie

Il modo più semplice per creare un cookie è assegnare un valore stringa all'oggetto document.cookie , che assomiglia a questo:

Sintassi

document.cookie = "key1 = value1;key2 = value2;expires = date"

Qui l' attributo expires è facoltativo. Se fornisci a questo attributo una data o un'ora valida, il cookie scadrà alla data o all'ora specificate e successivamente il valore del cookie non sarà accessibile.

Esempio

Di seguito è riportato l'esempio per impostare un nome cliente nel cookie di input .

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie
            If document.myform.customer.value = "" Then
               msgbox "Enter some value!"
            Else
               cookievalue = (document.myform.customer.value)
               document.cookie = "name = " + cookievalue
               msgbox "Setting Cookies : " & "name = " & cookievalue
            End If
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Produrrà il seguente risultato. Ora inserisci qualcosa nella casella di testo e premi il pulsante "Imposta cookie" per impostare i cookie.

Enter name:

Ora, il tuo sistema ha un cookie chiamato name . È possibile impostare più cookie utilizzando più coppie chiave = valore separate da virgola. Imparerai come leggere questo cookie nella sezione successiva.

Lettura dei cookie

Leggere un cookie è semplice come scriverne uno, perché il valore dell'oggetto document.cookie è il cookie. Quindi, puoi usare questa stringa ogni volta che vuoi accedere al cookie. La stringa document.cookie manterrà un elenco di coppie nome = valore separate da punto e virgola dove nome è il nome di un cookie e valore è il suo valore stringa. Puoi utilizzare la funzione split () delle stringhe per suddividere la stringa in chiave e valori come segue:

Esempio

Di seguito è riportato l'esempio per ottenere i cookie impostati nella sezione precedente:

<html>
   <head>
      <script type = "text/vbscript">
         Function ReadCookie
            allcookies = document.cookie
            msgbox "All Cookies : " + allcookies
            cookiearray = split(allcookies,";")
            
            For i = 0 to ubound(cookiearray)
               Name  = Split(cookiearray(i),"=")
               Msgbox "Key is : " + Name(0) + " and Value is : " + Name(1)
            Next
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>
      </form>
   </body>
</html>

Note- In questo caso, UBound è un metodo della classe Array , che restituisce la lunghezza di un array. Discuteremo gli array in un capitolo separato; fino a quel momento, cerca di digerirlo.

Produrrà il seguente risultato. Ora, premi il pulsante "Ottieni cookie" per visualizzare i cookie, che hai impostato nella sezione precedente.

Note- Potrebbero esserci altri cookie già impostati sulla tua macchina. Quindi, il codice sopra ti mostrerà tutti i cookie impostati sulla tua macchina.

Impostazione della data di scadenza dei cookie

È possibile prolungare la durata di un cookie oltre la sessione corrente del browser impostando una data di scadenza e salvando la data di scadenza all'interno del cookie. Questo può essere fatto impostando l' attributo expires su una data e un'ora.

Esempio

Il seguente esempio illustra come impostare la data di scadenza del cookie dopo 1 mese -

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            y = dateadd("m",1,now())  ' Making it to expire next 
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & y
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Eliminazione di un cookie

A volte, potresti voler eliminare un cookie in modo che i successivi tentativi di leggere il cookie non restituiscano nulla. Per fare ciò, è sufficiente impostare la data di scadenza su un tempo nel passato.

Esempio

Il seguente esempio illustra come eliminare un cookie impostando la sua data di scadenza 1 mese nel passato -

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            x = now()
            a = Month(x)-1
            b = day(x)
            c = year(x)
            d = DateSerial(c,a,b)
            e = hour(x) 
            
            msgbox e
            f = minute(x)
            
            msgbox f
            d = cdate(d & " " & e & ":" & f)
            
            msgbox d
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & d
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>