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
6. Código de una
página cualquiera
7. Ejercicios
índice
Control de acceso mediante sesiones
Controlde acceso
mediante sesiones
1.1.Introducción
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
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
Comenzar sesión
3. Estructura de
página
4. Autentificación
del usuario
5. Cerrar la sesion
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.
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
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
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
3.3. Estructura
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
3.3. Estructura
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
3. Estructura de
página
4.4.Autentificación
Autentificación
del
del usuario
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
3. Estructura de
página
4.4.Autentificación
Autentificación
del
del usuario
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
3. Estructura de
página
4.4.Autentificación
Autentificación
del
del usuario
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
2. Comenzar sesión
3. Estructura de
página
4.4.Autentificación
Autentificación
del
del usuario
usuario
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:
<?php
session_start();
$usuario=$_REQUEST['usuario'];
$clave=$_REQUEST['clave'];
if($usuario ==“pepe" && $clave==“pepe1")
{
echo "usuario correcto";
5. Cerrar la sesion
6. Código de una
página cualquiera
$_SESSION['usuario']=$usuario;
}
else
{
}
?>
echo "usuario incorrecto";
7. Ejercicios
índice
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
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.
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
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
Como hemos dicho antes el resto de
páginas deberá tener la misma estructura
básica:
5. Cerrar la sesion
<?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!!!";
6.
6. Código
Código de
de una
una
página
página cualquiera
cualquiera
}
?>
3. Estructura de
página
4. Autentificación
del usuario
/* 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
3. Estructura de
página
4. Autentificación
del usuario
Ejercicio1:
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
3. Estructura de
página
4. Autentificación
del usuario
5. Cerrar la sesion
Ejercicio2:
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
Descargar

Slide 1