almacenar variables en cookies en php programación en internet ii

20
Almacenar variables en cookies en PHP Programación en Internet I

Upload: margaretta-sanches

Post on 22-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet II

Page 2: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

En una cookie se puede almacenar muy pocos datos (hasta un máximo de 4093 caracteres por cada cookie),

y solo es posible almacenar hasta 20 cookies por dominio (esto es importante tenerlo presente por si en distintas sesiones de nuestro sitio hacemos uso de cookies), y

un navegador solo puede almacenar hasta 300 cookies en total, compartidas entre todos los sitios que ese usuario visita (de lo contario, el navegador empezara a eliminar las cookies más antiguas,

Page 3: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

lo que constituye la razón de que algunos sitios que usan cookies para recordar nuestros datos, nos vuelvan a pedir una y otra vez que nos identifiquemos, periódicamente:

es porque su cookie fue borrada , desplazada por otras cookies mas nuevas de otros sitios que fuimos visitando).

Page 4: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Debido a esa “escasez“ de recursos de las cookies, es muy común almacenar únicamente un código en la cookie, para que identifique a ese usuario en ese navegador en esa computadora, y el resto de los datos asociados se almacena en el servidor ( en el hosting, generalmente en base de datos).

Page 5: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Un antigua mito (más de diez años, ¡una eternidad en la historia de la web!) genera toda clase de rumores en torno a las cookies:

se dice que revelan nuestros datos privados, que espían nuestra computadora, y muchas otras fantasías, causadas por el desconocimiento de sus verdaderos límites.

Page 6: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

La única capacidad real de una cookie es la de almacenar algunos pocos datos en variables, que luego podremos utilizar cuando, desde la misma máquina y usando el mismo navegador, ese usuario ingrese nuevamente a nuestra página web.

Page 7: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Este detalle casi trivial merece ser recalcado: no es el usuario en sí, y ni siquiera es la computadora del usuario la que queda identificada, sino apenas el navegador que se utilizo;

si desde la misma computadora ingresara el mismo sitio web el hermano o el compañero de trabajo de nuestro usuario utilizando el mismo navegador , lo confundiéramos con nuestro usuario.

Page 8: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Y, por el contrario, si el mismo usuario ingresa usando otro navegador, o desde otra computadora, no lo reconoceremos… y algo más:

solamente se puede leer la cookie desde el dominio que la creo, así que de “espionaje”, poco y nada.

Page 9: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Salvo en caso demasiado sofisticado, que solo son posibles para grandes empresas de publicidad online, que hospedan sus banner en un mismo dominio pero los publican en distintos sitios y, de esta manera, detectan el código de su cookie a lo largo de varios sitios, y pueden llevar estadísticas del perfil de visitas de un usuario:

si visito tal diario, y luego tal otro sitio de remates, etc.

Page 10: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Pero eso únicamente crea perfiles para mostrar publicidades afines al usuario, y no datos individualizables con nombre y apellido (salvo excepciones que, como las brujas, no existen, pero “que las hay, las hay…” aunque requieren que algunos de los sitios de la cadena compartan sus bases de datos, algo que entra en el terreno de lo legal más que de la programación).

Page 11: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Existen algunas consideraciones a tener en cuenta antes de pasar al código.

Las cookies se generan a través de una orden de que debe llegar al navegador del usuario antes de que este procese el código HTML que nos hará ver una página en nuestra pantalla.

Page 12: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Para lograr esto, la orden para la creación de la cookie debe viajar en el header o encabezado de la dirección HTTP que nos trae el archivo HTML, desde el servidor hacia el navegador;

por lo que la ejecución de la función que crea un archivo de cookies debe ser anterior a cualquier código HTML o a cualquier echo de PHP que ya en la página (igual que con las sesiones, como veremos pronto), para que llegue dentro de los encabezados de la petición HTTP.

Page 13: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

En el siguiente ejemplo veremos cuál sería la ubicación del código que crea una cookie:

<?phpsetcookie("nombre" ,"Juancito");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtmll-strict.dtd"><html ...etc ...</html>

Page 14: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Analicemos el código precedente. La función setcookie, incluida en el lenguaje PHP, recibe como primer “argumento” (primera cosa dentro de sus paréntesis) el nombre de la variable que se almacenara en la cookie y, como segundo argumento (separado por una como del argumento anterior), el dato que desea almacenarse dentro de esa variable, que el navegador guardara en un archivo de texto de la computadora del usuario:

Setcookie(“nombre”, “Juancito”);

Page 15: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

La función setcookie permite especificar varios otros argumentos dentro de sus paréntesis, pero son todos opcionales:

Setcookie (nombre , valor, duracion, ruta, dominio, seguridad)

Page 16: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Algunos de ellos los veremos algunos párrafos más adelante.

Pero con esos dos datos (el nombre de la variable y su valor), separados por comas y envueltos entre comillas, es suficiente para crear una cookie y guardar un dato.

Page 17: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Este ejemplo, que define una variable denominada “nombre” con el valor “Juancito”, ha creado realmente una cookie (probemos de ejecutarlo en nuestro servidor local, o en nuestro hosting).

Como no se ve nada especial en la pantalla, nos queda la duda:

no sabemos si se a logrado crear esta cookie, o no…

Page 18: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

Afortunadamente, es my fácil comprobar si se creo, o no:

podemos ver con nuestro propio navegador todas las cookies que ese navegador ha almacenado, y cuál es el valor que guarda dentro cada una de ellas.

Page 19: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

En cada navegador es diferente la forma de acceder a las cookies; por ejemplo, en Firefox, accedemos entrando al menú Herramientas →Opciones →Privacidad→ Eliminar cookies de forma individual, que nos muestra el listado de cookies que existe en ese navegador, así como su contenido, su fecha de expiración y otras informaciones complementarias.

En este caso, se vería de esta manera:

Page 20: Almacenar variables en cookies en PHP Programación en Internet II

Almacenar variables en cookies en PHP

Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa

1