Actualizado el 15 de Diciembre del 2018 (Publicado el 4 de Diciembre del 2018)
692 visualizaciones desde el 4 de Diciembre del 2018
661,8 KB
26 paginas
Creado hace 11a (15/12/2013)
Índice: Tema 4.3
4.3 Aplicaciones basadas en Sesiones
4.3.1 Manejo de Cookies
4.3.2 Manejo de Sesiones
4.3.3 Aplicación basada en sesiones
Índice: Tema 4.3
4.3 Aplicaciones basadas en Sesiones
4.3.1 Manejo de Cookies
4.3.2 Manejo de Sesiones
4.3.3 Aplicación basada en sesiones
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Sesiones y cookies
Las sesiones y las cookies proporcionan la habilidad de "recordar“ información
sobre los usuarios.
Se diferencian en cómo son capaces de almacenar dicha información:
• Las sesiones almacenan los datos en archivos temporales en el disco duro del servidor.
• Las cookies son pequeños archivos que se almacenan en la máquina del cliente.
Las cookies son útiles para los programadores ya que permiten el poder compartir
variables que se necesitan en múltiples páginas de una manera fácil y segura.
Las cookies son simples pares cadenas de texto "nombre=valor", que tienen
asociada una URL.
El navegador usa esta URL para decidir si envía o no la cookie al servidor.
Los navegadores WEB tienen control sobre las cookies pudiéndose desactivar
Los navegadores WEB tienen control sobre las cookies pudiéndose desactivar.
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
3
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Características de las cookies
Existen dos tipos de cookies:
• Persistentes: La cookie es almacenada por el navegador.
• Las cookies persistentes están mal vistas por los usuarios.
• No Persistentes: Los valores de la cookie se pierden al cerrar el navegador.
Las cookies no pueden acceder a ninguna información sobre el sistema del
usuario.
Las cookies están restringidas a un cierto ámbito o rango de direcciones, en el cual
puede ser usada:
• El programador define este ámbito.
• El navegador lee la información sobre este ámbito y determina si un servidor tiene acceso
a dicha cookie.
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
4
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Generación y recuperación de cookies (1)
Aunque las cookies son almacenadas en el equipo del cliente, se generan desde
un programa en el servidor (por ejemplo en PHP).
Cuando se realiza una transferencia HTTP entre cliente y servidor, las cookies son
incluidas en la cabecera HTTP, por lo que cualquier orden de generación de un
cookie desde una página web debe ser dada antes de cualquier comando HTML.
Para establecer una cookie se dispone de la función setcookie(nombre,
valor). Ejemplo: <?php setcookie("nombre","Alberto"); ?>
• Esta función le dice a un navegador que recuerde el nombre y valor de una cookie y lo
envíe de vuelta al servidor en peticiones posteriores.
• Devuelve un valor numérico indicando si se produjo algún error en el proceso de creación
Devuelve un valor numérico indicando si se produjo algún error en el proceso de creación
de la cookie. Un valor distinto de cero indica que el proceso se realizó correctamente.
Para borrar la cookie basta con omitir su valor setcookie(nombre) .
Para borrar la cookie basta con omitir su valor setcookie(nombre) .
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
5
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Generación y recuperación de cookies (2)
La sintaxis completa de la función setcookie() es:
int
setcookie(string name [,string value] [,int expire] [,string path]
[,string domain] [,bool secure] [,bool httponly])
• name
• value
• expire
• path
• domain
• secure
• httponly
Nombre de la cookie a establecer.
d l
bl
ki
b
Valor de la cookie a establecer.
Tiempo de vida a partir del cual los datos de la cookie no serán válidos.
d l
ál d
d l
l l
d
d
d
k
á
Ruta desde la raíz del servidor a partir de la cual la cookie es accesible.
El dominio a partir del cual la cookie es accesible.
Especifica si la cookie sólo debe ser transmitida a través de una conexión
HTTPS segura El valor por defecto es FALSE
HTTPS segura. El valor por defecto es FALSE.
Este valor indica si la cookie es accesible fuera de una petición HTTPS. Por
ejemplo por lenguajes de scripting, como JavaScript. El valor por defecto es
FALSE.
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
6
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
EJERCICIO 16
Generación y recuperación de cookies (3)
Una vez la cookie ha sido generada, esta permanece en el equipo del cliente y será
enviada al servidor cada vez que el cliente realicen consultas al mismo.
Los valores almacenados en las cookies que llegan al servidor son accesibles desde
PHP desde el array superglobal $_COOKIE.
Ejemplo:
Ejemplo:
<?php setcookie("nombre","Alberto"); ?>
<html>
<head><title>Ejemplo</title>
<?php echo "Te llamas {$_COOKIE['nombre']}"; ?>
</head>
<body>y
</body>
</html>
</html>
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
7
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
EJERCICIO 16
Generación y recuperación de cookies (4)
En el primer acceso, como el cliente aún no tiene la cookie no la puede enviar y el
servidor no la puede utilizar para construir la página solicitada:
En un segundo acceso, el cliente ya dispone de la cookie (enviada por el servidor
en respuesta al primer acceso) y la envía al servidor para que este pueda construir
en respuesta al primer acceso) y la envía al servidor para que este pueda construir
la página solicitada:
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
8
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
EJERCICIO 17
Generación y recuperación de cookies (5)
Hacer una página en PHP que genere una cookie con el nombre introducido
mediante un formulario para poder utilizarlo como valor por defecto al solicitar la
página de nuevo en una petición posterior.
Introducimos el nombre y
pulsamos Enviar.
La propia página procesa los
datos en el servidor y genera la
datos en el servidor y genera la
cookie que se envía al cliente.
Al solicitar de nuevo la página en otra
pestaña, la cookie enviada en la
solicitud es utilizada por el servidor
para completar el campo.
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
9
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Expiración de cookies
Si omitimos este parámetro la cookie desparecerá al cerrar el cliente el navegador.
El tiempo de vida de una cookie es relativo al número de segundos que han
pasado desde el 1 de Enero de 1970. Por tanto el tiempo de expiración de la
cookie tiene que ser relativo a esta fecha.
PHP nos proporciona un conjunto extenso de funciones para el tratamiento de
fechas. En particular time() nos proporciona el número de segundos que han
transcurrido desde 1 de Enero de 1970 hasta la fecha y momento en el que se
realiza la llamada a dicha función
realiza la llamada a dicha función.
// Esta cookie caduca en una hora
setcookie("mi_cookie", $value, time() + 60*60);
// Esta cookie caduca a las 0h:00m:00s del 20 de Mayo de 2006
setcookie("mi_cookie", $value, mktime(0,0,0,05,20,2006));
// Borrado de una cookie con tiempo de vida establecido
setcookie("mi_cookie", "", time());
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
10
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
Ámbito de las cookies
Con los parámetros ruta y dominio se controla el ámbito en el que puede ser
accesible una cookie.
La ruta de acceso por defecto de una cookie es / lo que quiere decir que la cookie
es accesible por cualquier subdirectorio del raíz.
Para limitar el acceso a la cookie a un subdirectorio tenemos que usar como
parámetro la ruta a dicho subdirectorio:
• Por ejemplo, si establecemos /sitio/ como parámetro, la cookie podrá ser accesible
por todas las páginas alojadas a partir de dicho directorio.
• Cuidado con poner/sitio, la cookie podría ser accesible por la página /sitio.php o
/sitio1/pagina php etc
/sitio1/pagina.php, etc…
Para limitar el acceso a la cookie a un único archivo tenemos que establecer como
parámetro la ruta al archivo. Por ejemplo /sitio/pagina.php.
parámetro la ruta al archivo. Por ejemplo /sitio/pagina.php.
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
11
4.3 APLICACIONES BASADAS EN SESIONES
4.3.1 MANEJO DE COOKIES
EJERCICIO 18
Expiración y ámbito de las cookies (1)
Utilice las cookies para generar un contador de visitas de las páginas enlazadas
desde la web “ejercicio17.php” que se resetee si transcurren más de 5 segundos
sin visitar la página. Además, dichas páginas hacen uso del nombre introducido en
i 1 h ”
el formulario mediante una cookie que tan sólo es visible en “pagina1.php”.
l f
i ibl
ól
l
i
di
t
ki
t
“
APLICACIONES WEB
TEMA 4: PROGRAMACIÓN EN EL LADO DEL SERVIDOR
12
Índice: Tema 4.3
4.3 Aplicaciones basadas en Sesiones
4.3.1 Manejo de Cookies
4.3.2 Manejo de Sesiones
4.3.3 Aplicación basada en sesiones
4.3 APLICACIONES BASADAS EN SESIONES
4.3.2 MANEJO DE SESIONES
Sesiones y cookies
Como se ha comentado en el apartado anterior, las sesiones son otra alternativa a
las cookies para “recordar” cierta información suministrada por el usuario cuando
navega a través de las diferentes páginas de un sitio web.
Al contrario de las cookies, las variables de sesión se almacenan en el servidor y
i
desaparecen (a no ser que se cambie la configuración del servidor) cuando el
cliente cierra el navegador. Funciones de utilidad:
ilid d
li
• session_start()
Nueva sesión o sesión abierta. Se debe colocar al comienzo del
script de cualquier página que utilice la sesión
script de cualquier página que utilice la sesión.
d
l
d
F
i
• session_id()
• session destroy() Finaliza de la sesión
• session_destroy() Finaliza de la sesión.
Devuelve el identificador de la sesión.
Todas las variables a almacenar en la sesi
Comentarios de: Tema 4.3 - Aplicaciones basadas en Sesiones (0)
No hay comentarios