VBScript y cookies

¿Qué son las cookies?

Los navegadores y servidores web utilizan el protocolo HTTP para comunicarse y HTTP es un protocolo sin estado. Pero para un sitio web comercial, se requiere mantener la información de la sesión entre diferentes páginas. Por ejemplo, el registro de un usuario finaliza después de completar muchas páginas. Pero cómo mantener la información de la sesión del usuario en todas las páginas web. En muchas situaciones, el uso de cookies es el método más eficiente para recordar y rastrear preferencias, compras, comisiones y otra información requerida para una mejor experiencia del visitante o estadísticas del sitio.

¿Cómo funciona?

Su servidor envía algunos datos al navegador del visitante en forma de cookie. El navegador puede aceptar la cookie. Si es así, se almacena como un registro de texto sin formato en el disco duro del visitante. Ahora, cuando el visitante llega a otra página de su sitio, el navegador envía la misma cookie al servidor para su recuperación. Una vez recuperado, su servidor sabe / recuerda lo que se almacenó anteriormente. Las cookies son un registro de datos de texto sin formato de 5 campos de longitud variable:

  • Expires- La fecha de caducidad de la cookie. Si está en blanco, la cookie caducará cuando el visitante salga del navegador.

  • Domain - El nombre de dominio de su sitio.

  • Path- La ruta al directorio o página web que instaló la cookie. Esto puede estar en blanco si desea recuperar la cookie de cualquier directorio o página.

  • Secure- Si este campo contiene la palabra "seguro", la cookie solo se puede recuperar con un servidor seguro. Si este campo está en blanco, no existe tal restricción.

  • Name=Value - Las cookies se configuran y recuperan en forma de pares de clave y valor.

Las cookies se diseñaron originalmente para la programación CGI y los datos de las cookies se transmiten automáticamente entre el navegador web y el servidor web, por lo que los scripts CGI en el servidor pueden leer y escribir valores de cookies que se almacenan en el cliente.

VBScript también puede manipular cookies utilizando la propiedad de cookie del objeto Document . VBScript puede leer, crear, modificar y eliminar las cookies que se aplican a la página web actual.

Almacenamiento de cookies

La forma más sencilla de crear una cookie es asignar un valor de cadena al objeto document.cookie , que se ve así:

Sintaxis

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

Aquí expira el atributo es opcional. Si proporciona a este atributo una fecha u hora válida, la cookie caducará en la fecha u hora indicadas y, después, no se podrá acceder al valor de las cookies.

Ejemplo

A continuación se muestra el ejemplo para establecer un nombre de cliente en la cookie de entrada .

<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>

Producirá el siguiente resultado. Ahora ingrese algo en el cuadro de texto y presione el botón "Establecer cookie" para configurar las cookies.

Enter name:

Ahora, su sistema tiene una cookie llamada name . Puede configurar varias cookies utilizando varios pares clave = valor separados por comas. Aprenderá a leer esta cookie en la siguiente sección.

Leer cookies

Leer una cookie es tan simple como escribir una, porque el valor del objeto document.cookie es la cookie. Por lo tanto, puede utilizar esta cadena siempre que desee acceder a la cookie. La cadena document.cookie mantendrá una lista de pares nombre = valor separados por punto y coma donde nombre es el nombre de una cookie y valor es su valor de cadena. Puede usar la función split () de cadenas para dividir la cadena en claves y valores de la siguiente manera:

Ejemplo

A continuación se muestra el ejemplo para configurar las cookies en la sección anterior:

<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- Aquí, UBound es un método de la clase Array , que devuelve la longitud de una matriz. Discutiremos las matrices en un capítulo separado; hasta ese momento, intente digerirlo.

Producirá el siguiente resultado. Ahora, presione el botón "Obtener Cookie" para ver las cookies, que ha configurado en la sección anterior.

Note- Es posible que ya haya otras cookies configuradas en su máquina. Entonces, el código anterior le mostrará todas las cookies configuradas en su máquina.

Configuración de la fecha de vencimiento de las cookies

Puede extender la vida de una cookie más allá de la sesión actual del navegador configurando una fecha de vencimiento y guardando la fecha de vencimiento dentro de la cookie. Esto se puede hacer estableciendo el atributo expires en una fecha y hora.

Ejemplo

El siguiente ejemplo ilustra cómo configurar la fecha de caducidad de las cookies después de 1 mes:

<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>

Eliminar una cookie

A veces, querrá eliminar una cookie para que los intentos posteriores de leer la cookie no devuelvan nada. Para hacer esto, solo necesita establecer la fecha de vencimiento en un tiempo en el pasado.

Ejemplo

El siguiente ejemplo ilustra cómo eliminar una cookie estableciendo su fecha de vencimiento 1 mes en el pasado:

<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>