Control de acceso mediante sesiones Controlde acceso mediante

  • Slides: 17
Download presentation
Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Índice 1. Introducción. 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesión 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. 1. Introducción 2. Comenzar

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Introducción El uso de sesiones en PHP es un método ampliamente extendido. Tiene diversas utilidades, pero sin duda la más común es el control de acceso a usuarios, aunque debemos pensar que no son sinónimos. 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. 1. Introducción 2. Comenzar

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Introducción Básicamente una sesión es la secuencia de páginas que un usuario visita en un sitio web. Desde que entra en nuestro sitio, hasta que lo abandona. Durante todo este tiempo se van creando, modificando, leyendo y destruyendo variables que serán accesibles por todas las páginas que visitemos durante la sesión. 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario Comenzar sesión Una sesión se identifica por un identificador único que se crea cuando se crea la sesión y se destruye cuando se destruye la sesión. Todas las páginas del sitio deben manejar este identificador. 5. Cerrar la sesion 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion 6. Código de una página cualquiera Por lo tanto al comenzar cada página se hará lo siguiente : ¿Existe una sesión? • Si existe la retomamos, utilizando las variables creadas • Si no existe creamos una nueva generando un identificador único En php esto se resumen con la siguiente instrucción: 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion En php esto se resumen con la siguiente instrucción: session_start(); Esta función será el primer código de cada página. 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Todas las páginas del sitio tendrán la misma forma. El código se dividirá en dos zonas: • código si el usuario se ha autenticado correctamente (ZONA A). • código si el usuario no se ha autenticado o no lo ha hecho correctamente (ZONA B). 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Estas dos zonas serán excluyentes, solo se mostrará una en el navegador, por lo tanto lo primero que nos encontraremos será una instrucción condicional (if) de la siguiente forma: si (el usuario está autenticado) ZONA A sino ZONA B finsi 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. 4. Autentificación del usuario 5. Cerrar la sesion 6. Código de una página cualquiera Ya solo nos quedaría saber expresar esa condición en código PHP y autentificar al usuario. Para ello utilizaremos una variable en la sesión de manera que si está creada indicará que el usuario tiene permisos y si no está creada indicará que no ha habido autentificación correcta. Por lo tanto cuando autentifiquemos al usuario crearemos esa variable. 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. 4. Autentificación del usuario 5. Cerrar la sesion La forma de autentificar al usuario es independiente de lo que entendemos por sesiones. Podríamos hacerlo mediante una tabla en mysql que contenga los nombres de usuario que pueden acceder, con sus contraseñas correspondientes. También podríamos utilizar ficheros de texto. 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. 4. Autentificación del usuario 5. Cerrar la sesion En resumen, todas las páginas tendrán la misma forma menos dos, la que crea la variable que indica que el usuario tiene permisos y la que destruye la sesión. Veamos un ejemplo. Crearemos un formulario en el que solicitaremos un usuario y una clave. Al aceptar llamaremos a login. php. 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción login. php comprobará

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción login. php comprobará si el usuario y la contraseña son válidos (esto se explicó en el tema de mysql) y si es así creará una variable: 2. Comenzar sesión 3. Estructura de página 4. 4. Autentificación del usuario <? php session_start(); $usuario=$_REQUEST['usuario']; $clave=$_REQUEST['clave']; if($usuario ==“pepe" && $clave==“pepe 1") { echo "usuario correcto"; $_SESSION['usuario']=$usuario; 5. Cerrar la sesion 6. Código de una página cualquiera } else { } ? > echo "usuario incorrecto"; 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario Cuando el usuario decida que ya no quiere seguir navegando más por el sitio, deberá terminar la sesión. Esto hará que se destruyan todas las variables creadas, por lo que no se le permitirá el acceso a ninguna página más del sitio. 5. Cerrar la sesión sesion 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesión sesion Para ello crearemos el fichero logout. php que destruirá la sesión. El código de este fichero es sencillo: <? php session_start(); session_destroy(); echo "Sesion destruida"; ? > 6. Código de una página cualquiera 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion 6. 6. Código de de una página cualquiera Como hemos dicho antes el resto de páginas deberá tener la misma estructura básica: <? php session_start(); if(isset($_SESSION['usuario'])) { echo "usuario registrado: ". $_SESSION['usuario']; /* aquí escribiremos el código de nuestra página*/ } else { echo "usuario no registrado!!!"; /* aquí escribiremos un mensaje indicando que el usuario no tiene permisos para acceder*/ } ? > 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario Ejercicio 1: Algunas de las páginas del ejercicio no tienen control de acceso, como por ejemplo login. php o form. php. Añádelos 5. Cerrar la sesion 6. Código de una página cualquiera Ejercicio 7. 7. Ejercicios índice

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión

Control de acceso mediante sesiones Controlde acceso mediante sesiones 1. Introducción 2. Comenzar sesión 3. Estructura de página 4. Autentificación del usuario 5. Cerrar la sesion Ejercicio 2: El usuario actual está incluido en el código. Crea una tabla de usuarios/contraseñas y cambia el código necesario en el fichero login. php para conseguir autenticar contra una base de datos. 6. Código de una página cualquiera 7. Ejercicios índice