Вы находитесь на странице: 1из 17

Control de acceso mediante sesiones

Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

ndice
1. Introduccin.
2. Comenzar sesin
3. Estructura de pgina
4. Autentificacin del usuario
5. Cerrar la sesin
6. Cdigo de una pgina
cualquiera
7. Ejercicios

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1.
1.Introduccin
Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

Introduccin
El uso de sesiones en PHP es un
mtodo ampliamente extendido.
Tiene diversas utilidades, pero sin
duda la ms comn es el control de
acceso a usuarios, aunque debemos
pensar que no son sinnimos.

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1.
1.Introduccin
Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera

Introduccin
Bsicamente una sesin es la
secuencia de pginas 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 sern
accesibles por todas las pginas que
visitemos durante la sesin.

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2.
2. Comenzar
Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

Comenzar sesin
Una sesin se identifica por un
identificador nico que se crea cuando
se crea la sesin y se destruye cuando
se destruye la sesin.
Todas las pginas del sitio deben
manejar este identificador.

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2.
2. Comenzar
Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera

Por lo tanto al comenzar cada pgina


se har lo siguiente :
Existe una sesin?
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 instruccin:

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2.
2. Comenzar
Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario

En php esto se resumen con la


siguiente instruccin:
session_start();
Esta funcin ser el primer cdigo de
cada pgina.

5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3.3. Estructura
Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera

Todas las pginas del sitio tendrn la


misma forma. El cdigo se dividir en
dos zonas:
cdigo si el usuario se ha
autenticado correctamente (ZONA A).
cdigo si el usuario no se ha
autenticado o no lo ha hecho
correctamente (ZONA B).

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3.3. Estructura
Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

Estas dos zonas sern excluyentes,


solo se mostrar una en el navegador,
por lo tanto lo primero que nos
encontraremos ser una instruccin
condicional (if) de la siguiente forma:
si (el usuario est autenticado)
ZONA A
sino
ZONA B
finsi

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4.4.Autentificacin
Autentificacin
del
del usuario
usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera
7. Ejercicios

Ya solo nos quedara saber expresar


esa condicin en cdigo PHP y
autentificar al usuario.
Para ello utilizaremos una variable en
la sesin de manera que si est
creada indicar que el usuario tiene
permisos y si no est creada indicar
que no ha habido autentificacin
correcta.
Por lo tanto cuando autentifiquemos al
usuario crearemos esa variable.
ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4.4.Autentificacin
Autentificacin
del
del usuario
usuario
5. Cerrar la sesion

La forma de autentificar al usuario es


independiente de lo que entendemos
por sesiones.
Podramos hacerlo mediante una tabla
en mysql que contenga los nombres
de usuario que pueden acceder, con
sus contraseas correspondientes.
Tambin podramos utilizar ficheros de
texto.

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina

En resumen, todas las pginas


tendrn la misma forma menos dos, la
que crea la variable que indica que el
usuario tiene permisos y la que
destruye la sesin.

4.4.Autentificacin
Autentificacin
del
del usuario
usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera

Veamos un ejemplo. Crearemos un


formulario en el que solicitaremos un
usuario y una clave. Al aceptar
llamaremos a login.php.

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4.4.Autentificacin
Autentificacin
del
del usuario
usuario
5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera

login.php comprobar si el usuario y


la contrasea son vlidos (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";
$_SESSION['usuario']=$usuario;
}
else
{
}
?>

echo "usuario incorrecto";

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesin
sesion

Cuando el usuario decida que ya no


quiere seguir navegando ms por el
sitio, deber terminar la sesin.
Esto har que se destruyan todas las
variables creadas, por lo que no se le
permitir el acceso a ninguna pgina
ms del sitio.

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesin
sesion

Para ello crearemos el fichero


logout.php que destruir la sesin. El
cdigo de este fichero es sencillo:
<?php
session_start();
session_destroy();
echo "Sesion destruida";
?>

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin

Como hemos dicho antes el resto de


pginas deber tener la misma
estructura bsica:

2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

6.
6. Cdigo
Cdigo de
de una
una
pgina
pgina cualquiera
cualquiera

<?php
session_start();
if(isset($_SESSION['usuario']))
{ echo "usuario registrado: ".$_SESSION['usuario'];
/* aqu escribiremos el cdigo de nuestra pgina*/
}
else
{ echo "usuario no registrado!!!";

/* aqu escribiremos un mensaje indicando que el


usuario no tiene permisos para acceder*/
}
?>

7. Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario

Ejercicio1:
Algunas de las pginas del ejercicio no
tienen control de acceso, como por
ejemplo login.php o form.php.
Adelos

5. Cerrar la sesion

6. Cdigo de una
pgina cualquiera
Ejercicio
7.7.Ejercicios

ndic

Control de acceso mediante sesiones


Controlde acceso
mediante sesiones

1. Introduccin
2. Comenzar sesin
3. Estructura de
pgina
4. Autentificacin
del usuario
5. Cerrar la sesion

Ejercicio2:
El usuario actual est incluido en el
cdigo. Crea una tabla de
usuarios/contraseas y cambia el
cdigo necesario en el fichero
login.php para conseguir autenticar
contra una base de datos.

6. Cdigo de una
pgina cualquiera
7. Ejercicios

ndic

Вам также может понравиться