2 PHP
Tema: GESTIÓN DE SESIONES EN PHP. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: PHP PHP. Guía 6 3 Contenido. En esta práctica se aborda el tema de sesiones. Se da a conocer la definición de session, se usan funciones para gestionar información de session entre páginas web realacionadas de una misma aplicación web, además se trabajará con variables de session. Objetivo Específico Identificar las formas en las que se puede desarrollar aplicaciones web cuando se requiere autenticación de usuarios. Ejecutar funciones de sesión para gestionar información de sesión entre páginas web relacionadas de una misma aplicación web. Crear variables de sesión, para manejar información en sitios web relacionados. Materiales y Equipo Editor de Texto. Navegador web (Google Chrome, Firefox, Opera, Safari). WampServer. Guía de laboratorio. Introducción Teórica Sesiones: La necesidad de utilizar sesiones, surge de la naturaleza del protocolo HTTP, que es un protocolo sin estado, lo que significa que no dispone de un método incorporado para conservar el estado entre dos transacciones. Esto es lo que provoca que cuando un usuario solicita una página y luego otra, no exista manera de que el servidor entienda que ambas solicitudes provienen de un mismo usuario, de modo que todas las variables de un script son reestablecidas siempre después de una solicitud.
4 Nombre de la materia, Guía 1 Qué es una sesión? De forma simple, se puede definir una sesión como el tiempo que un usuario permanece conectado a un sitio web. De forma más técnica y relacionada con programación del lado del servidor, una sesión es un bloque de información que almacena todo tipo de variables y valores relacionados con los usuarios y sus visitas a un sitio web en particular. El control de la sesión consiste en poder realizar un seguimiento del usuario mientras se mantenga navegando por el sitio web, permitiendo mostrar el contenido de las páginas en función de su nivel de autorización o de sus preferencias personales. Para implementar una sesión, se siguen los pasos: 1. Iniciar la sesión. 2. Comenzar a registrar las variables de sesión necesarias. 3. Utilizar las variables de sesión en todos los scripts que lo requieren. 4. Anular las variables registradas. 5. Eliminar la sesión Iniciar una sesión en PHP: Existen dos formas de iniciar sesiones en PHP: 1. La primera es utilizando la función session_start(), con la cual se puede crear un identificador de sesión nuevo retomar un id de sesión creado previamente. Se requiere utilizar la llamada a esta función al inicio de todas las secuencias de comando que vayan a utilizar sesiones. 2. La segunda forma, consiste en configurar el archivo php.ini para que inicie las sesiones de forma automática cuando alguien visite el sitio. Para ello se debe asignar el valor 1 a la variable de configuración session.auto_start(), cuyo valor por defecto es 0. Este método tiene el inconveniente que no permite utilizar objetos como variables de sesión. Registrar una variable de sesión Vamos a utilizar la matriz súper global $_SESSION para crear una variable de sesión. Una variable de sesión se crea cuando se coloca como índice de la matriz súper global $_SESSION el nombre de una variable (el nombre de la variable se coloca sin el símbolo de dólar). Esto es similar a como se crean variables pasadas por la URL con la matriz súper global $_GET o campos de formulario con el método POST, utilizando la matriz súper global $_POST. Es preciso para poder acceder a los valores almacenados en variables de sesión iniciar el script con una llamada a la función session_start(). Si se utiliza un objeto como variable de sesión, es preciso incluir la definición de una clase antes de invocar a la función session_start() para volver a cargar las variables de sesión. De esta forma PHP sabe cómo reconstruir el objeto de sesión.
PHP. Guía 6 5 Se debe mostrar atención al verificar si las variables de sesión están registradas o no. Puede utilizar para ello las funciones isset() o empty(). Si ya no vamos a utilizar una variable de sesión es aconsejable anular su registro. Esto ayudará a liberar recursos del servidor. Para anular el registro de una variable de sesión se utiliza la función unset(). El uso de las funciones session_unregister() y session_unset() ya no es necesario ni recomendable. Para anular el registro de todas las variables utilizaremos: $_SESSION = array(); Procedimiento Ahora, Bibliografía utilizando su edito de texto favorito, vamos a digitar el código de cada uno de los ejemplos indicados. Luego ejecutaremos los script. Guía 1 Ejemplo 1. Vamos a crear un login de usuario utilizando sesiones, variables de session y la respective seguridad: 1. Digitemos el siguiente código y lo guardamos con el nombre longin.php.
6 Nombre de la materia, Guía 1 2. Ahora vamos a trabajar el siguiente escript y lo guardamos con el nombre de verifica.php, en el cual (como no usamos bases de datos) hacemos la verificación del usuario y contraseña. 3. Si los datos ingresados fueron correctos, entonces nos vamos a la siguiente página que genera el script: lo guardamos con el nombre de verifica1.php.
PHP. Guía 6 7 4. Como el objetivo de las sesiones, es no permitir el acceso mientras no se inicie la sesión, entonces tenemos el siguiente: lo guardamos con el nombre de seguridad.php. 5. Finalmente, para destruir las variables de sesión utilizamos las funciones respectivas y cerramos la sesión, para impedir que las variables de sesión sigan en nuestro navegador. Guardamos el archivo con el nombre de salir.php. Ejemplo 2: Vamos a trabajar con un login de usuario que permite trabajar con un usuario normal y con un administrador, como aún no contamos con bases de datos, entonces trabajamos definiendo nuestros dos tipos de usuarios: 1. Digitar el siguiente código y lo guardamos con el nombre de login.php :
8 Nombre de la materia, Guía 1 2. Ahora vamos a trabajar con el código que corresponde al sitio del administrador, lo guardamos con el nombre de administrador.php.
PHP. Guía 6 9 3. Ahora, con el sitio que pertenece al usuario, lo guardamos con el nombre de usuario.php. 4. Recordemos que debemos de brindar seguridad para las sesiones, entonces debemos incluir siempre el siguiente script: lo guardamos cono safe.php. 5. Por último, debemos liberar las variables de sesión y cerrar la misma, para evitar que sigan existiendo dentro del navegador: guardamos el script como salir.php. Investigación Complementaria Guía 3 Guía 4 Modificar los ejemplos anteriores y agregarles un formato CSS. Además, en el sitio del administrador debemos agregar las opciones siguientes: Crear usuario. Borrar usuario. Modificar usuarios. fía
10 Nombre de la materia, Guía 1 En el módulo de administrador, debemos agregar css y las opciones: o Buscar usuario. o Registrarse. Bibliografía 1. Rubio Gil Javier (2005). Creación de sitios web con PHP Osborne McGrawHill. Primera Edición. 2. Larry Ullman (2011). PHP for the Web (VISUAL QUICKSTART GUIDE).Peachpit Press. Cuarta Edicion. 3. Presentacion docente. 4. Internet. Guía 3 Guía 4 fía
PHP. Guía 6 11 Guía X: Presentación del programa Hoja de cotejo: 1 1 Alumno: Máquina No: Alumno: Docente: Máquina No: GL: GL: Fecha: EVALUACION % 1-4 5-7 8-10 Nota CONOCIMIENTO Del 20 al 30% Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%