La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

HTTP Session Management Desarrollo de Aplicaciones para Internet.

Presentaciones similares


Presentación del tema: "HTTP Session Management Desarrollo de Aplicaciones para Internet."— Transcripción de la presentación:

1 HTTP Session Management Desarrollo de Aplicaciones para Internet

2 Aprendizajes esperados: Desarrolla una aplicación simple PHP con interacción con el cliente/usuario a través de formularios.

3 Agenda El problema del estado de las conexiones dentro del protocolo HTTP Cookies Sesiones

4 El estado de las conexiones Las conexiones por medio del protocolo HTTP no mantienen un estado. Por ello no se pueden mantener variables en la conexión. Sin embargo se han inventado mecanismos para tener una especie de estado, las “cookies”, que permiten guardar un estado del lado del cliente y las sesiones, que permiten guardar un estado del lado del servidor.

5 Cookies El servidor cuando regresa un objeto HTTP al cliente puede enviar también un paquete de información de estado que el cliente va a almacenar de manera persistente. Incluido con ese estado se encuentra un rango de URLs para los cuales ese estado es válido.

6 Cookies Cualquier solicitud HTTP futura hecha por el cliente que caiga dentro de tal rango va a incluir una transmisión del valor actual del objeto desde el cliente al servidor. Tales objetos se llaman “cookies” sin ninguna razón contundente.

7 Cookies La función setcookie define una cookie para ser enviada con la información de encabezado. Debe ser enviada antes de cualquier otra información de encabezado. Sintaxis: – int setcookie ( string name, string value, int expire, string path, string domain, int secure)

8 Cookies Ejemplo: – setcookie( " CookieDePrueba ",$valor,time()+3600); /* expira en 1 hora */ También se pueden utilizar arreglos. – Ejemplo: setcookie( "cookie[tres]", "cookietres" ); setcookie( "cookie[dos]", "cookiedos" ); setcookie( "cookie[uno]", "cookieuno" ); if ( isset( $cookie ) ) { while( list( $name, $value ) = each( $cookie ) ) { echo "$name == $value \n"; }

9 Sesiones en PHP PHP tiene apoyo para conservar estado en con sesiones. Las sesiones mantienen variables en el lado del servidor. A cada visitante que accede a la página se le asigna un identificador único, llamado "session id" (identificador de sesión). Éste se almacena en una cookie por parte del usuario o se propaga en la URL (método GET).

10 Sesiones en PHP El soporte de sesiones permite registrar un número arbitrario de variables que se conservarán en las siguientes solicitudes. Cuando un visitante acceda a su web, PHP comprobará automáticamente (si session.auto_start está puesto a 1) o cuando usted lo especifique (de forma explícita mendiante session_start() o implícita a través de session_register()) si se le ha enviado un "session id" específico con su petición, en cuyo caso se recrean las variables que se habían guardado anteriormente.

11 Sesiones en PHP Las opciones de configuración track_vars y register_globals influyen en la forma en que las variables de la sesión se almacenan y se restauran. Si track_vars está activado y register_globals está desactivado, sólo los miembros del vector asociativo global $HTTP_SESSION_VARS pueden ser registrados como variables de sesión. Las variables restauradas de sesión sólo estarán disponibles en el vector $HTTP_SESSION_VARS.

12 Sesiones en PHP Ejemplo: – <?php session_start(); if (isset($HTTP_SESSION_VARS['contador'])) { $HTTP_SESSION_VARS['contador']++; } else { $HTTP_SESSION_VARS['contador'] = 0; } ?>

13 Sesiones en PHP Se recomienda usar $_SESSION (o $HTTP_SESSION_VARS con PHP 4.0.6 o inferior) por seguridad y para hacer el código más legible. Con $_SESSION o $HTTP_SESSION_VARS, no es necesario usar las funciones session_register() / session_unregister() / session_is_registered(). Los usuarios pueden acceder a una variable de la sesión como si fuera una variable normal.

14 Sesiones en PHP Ejemplo: – <?php session_start(); if (isset($_SESSION['count'])) { $_SESSION['count']++; } else { $_SESSION['count'] = 0; } ?>

15 Sesiones en PHP Ejemplo de borrar una variable con $_SESSION: – <?php session_start(); unset($_SESSION['count']); ?>

16 Síntesis Hemos aprendido el manejo fundamental de las sesiones HTTP, utilizando el lenguaje de programación PHP. Al mismo tiempo, hemos obtenido el conocimiento necesario para efectuar el manejo de cookies en el cliente.

17 Recursos http://www.php.net/ http://cl.php.net/manual/es/book.session.php

18 HTTP Session Management Desarrollo de Aplicaciones para Internet


Descargar ppt "HTTP Session Management Desarrollo de Aplicaciones para Internet."

Presentaciones similares


Anuncios Google