SlideShare una empresa de Scribd logo
DESARROLLO DE SITIOS WEB
CON PHP Y MYSQL
Sesiones
CognosInformáticaEducativa
TEMA 5: SESIONES
1. Introducción
2. Manejo de sesiones
3. Autenticación de usuarios
CognosInformáticaEducativa
INTRODUCCIÓN
 A veces es necesario mantener el estado de una conexión entre
distintas páginas o entre distintas visitas a un mismo sitio
 Ejemplos: aplicaciones personalizadas, carrito de la compra,
control de acceso
 HTTP es un protocolo sin estado: cada conexión entre el
cliente y el servidor es independiente de las demás
 Para mantener el estado entre diferentes conexiones hay que
establecer lo que se conoce como una sesión
 Las sesiones permiten disponer de unas variables con valores
persistentes durante toda la conexión del usuario. Estas
variables pueden almacenarse en el cliente mediante cookies o
en el servidor
 PHP dispone de una biblioteca de funciones para la gestión de
sesiones
CognosInformáticaEducativa
MANEJO DE SESIONES
 Funciones de PHP para el manejo de sesiones
(register_globals On)
 session_start ()
 inicializa una sesión y le asigna un identificador de sesión
único. Si la sesión ya está iniciada, carga todas las variables
de sesión
 session_register (variable)
 registra una variable de sesión
 session_unregister (variable)
 elimina una variable de sesión
 session_is_registered (variable)
 comprueba si una variable está registrada. Devuelve true en
caso afirmativo y false en caso contrario
 session_destroy ()
 cierra una sesión
CognosInformáticaEducativa
MANEJO DE SESIONES
 Funciones de PHP para el manejo de sesiones
(register_globals Off)
 session_start ()
 inicializa una sesión y le asigna un identificador de sesión
único. Si la sesión ya está iniciada, carga todas las variables
de sesión
 $_SESSION[‘nombre’] = valor;
 registra una variable de sesión
 unset ($_SESSION[‘nombre’]);
 elimina una variable de sesión
 if (isset($_SESSION[‘nombre’]))
 comprueba si una variable está registrada. Devuelve true en
caso afirmativo y false en caso contrario
 session_destroy ()
 cierra una sesión
CognosInformáticaEducativa
MANEJO DE SESIONES
 El manejo de las sesiones se realiza de la siguiente forma:
 Todas las páginas deben realizar una llamada a session_start()
para cargar las variables de la sesión
 Esta llamada debe estar colocada antes de cualquier código
HTML
 Conviene llamar a session_destroy() para cerrar la sesión
CognosInformáticaEducativa
MANEJO DE SESIONES
 Ejercicio 1: ejemplo simple de sesiones
 Ilustra cómo registrar variables, acceder a ellas y
posteriormente eliminarlas
CognosInformáticaEducativa
AUTENTICACIÓN DE USUARIOS
 Una cuestión frecuente en un sitio web es controlar el
acceso de los usuarios a una zona determinada del mismo
 La autenticación de usuarios puede realizarse en el propio
servidor web. Así, en Apache los ficheros .htaccess permiten
limitar el acceso a un determinado recurso del servidor
 Una alternativa más compleja pero más flexible es utilizar
PHP junto con una base de datos para controlar el acceso
de los usuarios. Para ello se utilizan las sesiones
Cognos Informática Educativa
AUTENTICACIÓN DE USUARIOS
 Esquema de una página que utiliza sesiones para autenticar
usuarios:
<?PHP
session_start ();
?>
<HTML LANG="es">
<HEAD> ... </HEAD>
<BODY>
<?PHP
if (isset($_SESSION["usuario_valido"]))
// Código para usuarios autorizados
else
// Mensaje de acceso no autorizado
?>
</BODY>
</HTML>
Cognos Informática Educativa
AUTENTICACIÓN DE USUARIOS
 Ejercicio 2: autenticación de usuarios
 Para nuestro sistema de gestión de noticias se va a restringir el
acceso a las operaciones a unos usuarios identificados por un
nombre y una contraseña
 La información de los usuarios autorizados se almacenará en
una tabla de la base de datos
 Las contraseñas de los usuarios se almacenarán en forma
encriptada
 Esquema:
CognosInformáticaEducativa
AUTENTICACIÓN DE USUARIOS
login
menúmostrar
formulario
mostrar
error
insertar
noticia
logoutconsultar
noticias
eliminar
noticia
CognosInformáticaEducativa
AUTENTICACIÓN DE USUARIOS
inicio
enviado formulario
iniciar sesión
datos correctos
sesión iniciada
menú
mostrar errormostrar formulario
insertar noticia logoutconsultar noticias
sí
sí
sí
no
no
no error
eliminar noticia
CognosInformáticaEducativa

Más contenido relacionado

La actualidad más candente

Charla cms
Charla cms Charla cms
Gestión de contenidos
Gestión de contenidosGestión de contenidos
Gestión de contenidos
Mónica María Espejo Pérez
 
Uwe uml
Uwe umlUwe uml
Uwe uml
CrisCobol
 
Método de autenticación seguro de usuarios de base de datos y de sistema para...
Método de autenticación seguro de usuarios de base de datos y de sistema para...Método de autenticación seguro de usuarios de base de datos y de sistema para...
Método de autenticación seguro de usuarios de base de datos y de sistema para...
Jonathan Franchesco Torres Baca
 
Creando endpoint http
Creando endpoint httpCreando endpoint http
Creando endpoint http
Jordi Reig Sais
 
Cms
CmsCms
Connection
ConnectionConnection
Gestiondecontenidodeficheros 120502202422-phpapp02
Gestiondecontenidodeficheros 120502202422-phpapp02Gestiondecontenidodeficheros 120502202422-phpapp02
Gestiondecontenidodeficheros 120502202422-phpapp02
ismenia97
 

La actualidad más candente (8)

Charla cms
Charla cms Charla cms
Charla cms
 
Gestión de contenidos
Gestión de contenidosGestión de contenidos
Gestión de contenidos
 
Uwe uml
Uwe umlUwe uml
Uwe uml
 
Método de autenticación seguro de usuarios de base de datos y de sistema para...
Método de autenticación seguro de usuarios de base de datos y de sistema para...Método de autenticación seguro de usuarios de base de datos y de sistema para...
Método de autenticación seguro de usuarios de base de datos y de sistema para...
 
Creando endpoint http
Creando endpoint httpCreando endpoint http
Creando endpoint http
 
Cms
CmsCms
Cms
 
Connection
ConnectionConnection
Connection
 
Gestiondecontenidodeficheros 120502202422-phpapp02
Gestiondecontenidodeficheros 120502202422-phpapp02Gestiondecontenidodeficheros 120502202422-phpapp02
Gestiondecontenidodeficheros 120502202422-phpapp02
 

Destacado

Deseospormexico
DeseospormexicoDeseospormexico
Deseospormexico
rojosdejimenez
 
Ecodad LTDA
Ecodad LTDAEcodad LTDA
Ecodad LTDA
Darly Gonzalez
 
Persuasive writing
Persuasive writingPersuasive writing
Persuasive writing
symie70
 
Oriana
OrianaOriana
MAMO Arte
MAMO ArteMAMO Arte
MAMO Arte
PUPOVISION
 
Solucion de ensamble
Solucion de ensambleSolucion de ensamble
Solucion de ensamble
Danny Garcia
 
Diodo
DiodoDiodo
Redes y comunicacion
Redes y comunicacionRedes y comunicacion
Redes y comunicacion
ferchovanega
 
Power Point sobre
Power Point sobre Power Point sobre
Power Point sobre
MicaelaGVega
 
Curso de evaluación de los apr. virtual
Curso de evaluación de los apr. virtualCurso de evaluación de los apr. virtual
Curso de evaluación de los apr. virtual
IDAZULI
 
Lesson Transcript - Volume of rectangular prism
Lesson Transcript - Volume of rectangular prismLesson Transcript - Volume of rectangular prism
Lesson Transcript - Volume of rectangular prism
Kavi Kuyil
 
Sesion 4
Sesion 4Sesion 4
Sesion 4
albayamil
 
Redes inalámbricas
Redes inalámbricasRedes inalámbricas
Redes inalámbricas
Paz_meno
 
Algunos algoritmos1
Algunos algoritmos1Algunos algoritmos1
Algunos algoritmos1
Adrian Guerra Diaz
 
Combustifeis vosseis n2
Combustifeis vosseis n2Combustifeis vosseis n2
Combustifeis vosseis n2
carlamachadomartins
 
Protocolos De Paso De Testigo2
Protocolos De Paso De Testigo2Protocolos De Paso De Testigo2
Protocolos De Paso De Testigo2
ace117
 
RADIUS (2015)
RADIUS (2015)RADIUS (2015)
Clase de Vías de Comunicación 1
Clase de Vías de Comunicación 1Clase de Vías de Comunicación 1
Clase de Vías de Comunicación 1
Hecdiel
 
Software
Software Software
Software
augustofv
 

Destacado (20)

Deseospormexico
DeseospormexicoDeseospormexico
Deseospormexico
 
Ecodad LTDA
Ecodad LTDAEcodad LTDA
Ecodad LTDA
 
Persuasive writing
Persuasive writingPersuasive writing
Persuasive writing
 
Oriana
OrianaOriana
Oriana
 
MAMO Arte
MAMO ArteMAMO Arte
MAMO Arte
 
Solucion de ensamble
Solucion de ensambleSolucion de ensamble
Solucion de ensamble
 
Diodo
DiodoDiodo
Diodo
 
Redes y comunicacion
Redes y comunicacionRedes y comunicacion
Redes y comunicacion
 
Power Point sobre
Power Point sobre Power Point sobre
Power Point sobre
 
Curso de evaluación de los apr. virtual
Curso de evaluación de los apr. virtualCurso de evaluación de los apr. virtual
Curso de evaluación de los apr. virtual
 
Lesson Transcript - Volume of rectangular prism
Lesson Transcript - Volume of rectangular prismLesson Transcript - Volume of rectangular prism
Lesson Transcript - Volume of rectangular prism
 
Sesion 4
Sesion 4Sesion 4
Sesion 4
 
Internet
InternetInternet
Internet
 
Redes inalámbricas
Redes inalámbricasRedes inalámbricas
Redes inalámbricas
 
Algunos algoritmos1
Algunos algoritmos1Algunos algoritmos1
Algunos algoritmos1
 
Combustifeis vosseis n2
Combustifeis vosseis n2Combustifeis vosseis n2
Combustifeis vosseis n2
 
Protocolos De Paso De Testigo2
Protocolos De Paso De Testigo2Protocolos De Paso De Testigo2
Protocolos De Paso De Testigo2
 
RADIUS (2015)
RADIUS (2015)RADIUS (2015)
RADIUS (2015)
 
Clase de Vías de Comunicación 1
Clase de Vías de Comunicación 1Clase de Vías de Comunicación 1
Clase de Vías de Comunicación 1
 
Software
Software Software
Software
 

Similar a Curso php dia5

Sesiones en PHP
Sesiones en PHPSesiones en PHP
Sesiones en PHP
Ingeniería Nica
 
U3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdfU3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdf
DavidVeraOlivera
 
Robo desesionesfinal
Robo desesionesfinalRobo desesionesfinal
Robo desesionesfinal
Miguel Angel Lopez Torralba
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
guesta7f40
 
RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
Ramiro Alfonzo Gomez
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
Ramiro Alfonzo Gomez
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
Ramiro Alfonzo Gomez
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
Jomar Burgos Palacios
 
71 Php. Sesiones I
71 Php. Sesiones I71 Php. Sesiones I
71 Php. Sesiones I
José M. Padilla
 
Servicio web
Servicio web Servicio web
Servicio web
Yael67
 
Session y cookies
Session y cookiesSession y cookies
Session y cookies
josevaldez20
 
Servidor web
Servidor webServidor web
Servidor web
Andres Luzon
 
Plataformas del comercio electronico
Plataformas del comercio electronicoPlataformas del comercio electronico
Plataformas del comercio electronico
claudiacte
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
XavierNavia
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
Jose Luis Carrasco Comonfort
 
Html,php
Html,phpHtml,php
Html,php
softyed
 
Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1
Richard_1508
 
Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1
Richard_1508
 
Resumen squid
Resumen squidResumen squid
Resumen squid
Ramiro Alfonzo Gomez
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
williamsm
 

Similar a Curso php dia5 (20)

Sesiones en PHP
Sesiones en PHPSesiones en PHP
Sesiones en PHP
 
U3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdfU3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdf
 
Robo desesionesfinal
Robo desesionesfinalRobo desesionesfinal
Robo desesionesfinal
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
 
RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 
71 Php. Sesiones I
71 Php. Sesiones I71 Php. Sesiones I
71 Php. Sesiones I
 
Servicio web
Servicio web Servicio web
Servicio web
 
Session y cookies
Session y cookiesSession y cookies
Session y cookies
 
Servidor web
Servidor webServidor web
Servidor web
 
Plataformas del comercio electronico
Plataformas del comercio electronicoPlataformas del comercio electronico
Plataformas del comercio electronico
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Html,php
Html,phpHtml,php
Html,php
 
Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1
 
Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1Gestores de-contenidos-tics-exposicion-1
Gestores de-contenidos-tics-exposicion-1
 
Resumen squid
Resumen squidResumen squid
Resumen squid
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 

Más de cognos_uie

Curso php dia6
Curso php dia6Curso php dia6
Curso php dia6
cognos_uie
 
Curso php dia5
Curso php dia5Curso php dia5
Curso php dia5
cognos_uie
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
cognos_uie
 
Curso php dia3
Curso php dia3Curso php dia3
Curso php dia3
cognos_uie
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
cognos_uie
 
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
cognos_uie
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
cognos_uie
 
Internet
InternetInternet
Internet
cognos_uie
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
cognos_uie
 

Más de cognos_uie (9)

Curso php dia6
Curso php dia6Curso php dia6
Curso php dia6
 
Curso php dia5
Curso php dia5Curso php dia5
Curso php dia5
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 
Curso php dia3
Curso php dia3Curso php dia3
Curso php dia3
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
 
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
 
Internet
InternetInternet
Internet
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 

Curso php dia5

  • 1. DESARROLLO DE SITIOS WEB CON PHP Y MYSQL Sesiones CognosInformáticaEducativa
  • 2. TEMA 5: SESIONES 1. Introducción 2. Manejo de sesiones 3. Autenticación de usuarios CognosInformáticaEducativa
  • 3. INTRODUCCIÓN  A veces es necesario mantener el estado de una conexión entre distintas páginas o entre distintas visitas a un mismo sitio  Ejemplos: aplicaciones personalizadas, carrito de la compra, control de acceso  HTTP es un protocolo sin estado: cada conexión entre el cliente y el servidor es independiente de las demás  Para mantener el estado entre diferentes conexiones hay que establecer lo que se conoce como una sesión  Las sesiones permiten disponer de unas variables con valores persistentes durante toda la conexión del usuario. Estas variables pueden almacenarse en el cliente mediante cookies o en el servidor  PHP dispone de una biblioteca de funciones para la gestión de sesiones CognosInformáticaEducativa
  • 4. MANEJO DE SESIONES  Funciones de PHP para el manejo de sesiones (register_globals On)  session_start ()  inicializa una sesión y le asigna un identificador de sesión único. Si la sesión ya está iniciada, carga todas las variables de sesión  session_register (variable)  registra una variable de sesión  session_unregister (variable)  elimina una variable de sesión  session_is_registered (variable)  comprueba si una variable está registrada. Devuelve true en caso afirmativo y false en caso contrario  session_destroy ()  cierra una sesión CognosInformáticaEducativa
  • 5. MANEJO DE SESIONES  Funciones de PHP para el manejo de sesiones (register_globals Off)  session_start ()  inicializa una sesión y le asigna un identificador de sesión único. Si la sesión ya está iniciada, carga todas las variables de sesión  $_SESSION[‘nombre’] = valor;  registra una variable de sesión  unset ($_SESSION[‘nombre’]);  elimina una variable de sesión  if (isset($_SESSION[‘nombre’]))  comprueba si una variable está registrada. Devuelve true en caso afirmativo y false en caso contrario  session_destroy ()  cierra una sesión CognosInformáticaEducativa
  • 6. MANEJO DE SESIONES  El manejo de las sesiones se realiza de la siguiente forma:  Todas las páginas deben realizar una llamada a session_start() para cargar las variables de la sesión  Esta llamada debe estar colocada antes de cualquier código HTML  Conviene llamar a session_destroy() para cerrar la sesión CognosInformáticaEducativa
  • 7. MANEJO DE SESIONES  Ejercicio 1: ejemplo simple de sesiones  Ilustra cómo registrar variables, acceder a ellas y posteriormente eliminarlas CognosInformáticaEducativa
  • 8. AUTENTICACIÓN DE USUARIOS  Una cuestión frecuente en un sitio web es controlar el acceso de los usuarios a una zona determinada del mismo  La autenticación de usuarios puede realizarse en el propio servidor web. Así, en Apache los ficheros .htaccess permiten limitar el acceso a un determinado recurso del servidor  Una alternativa más compleja pero más flexible es utilizar PHP junto con una base de datos para controlar el acceso de los usuarios. Para ello se utilizan las sesiones Cognos Informática Educativa
  • 9. AUTENTICACIÓN DE USUARIOS  Esquema de una página que utiliza sesiones para autenticar usuarios: <?PHP session_start (); ?> <HTML LANG="es"> <HEAD> ... </HEAD> <BODY> <?PHP if (isset($_SESSION["usuario_valido"])) // Código para usuarios autorizados else // Mensaje de acceso no autorizado ?> </BODY> </HTML> Cognos Informática Educativa
  • 10. AUTENTICACIÓN DE USUARIOS  Ejercicio 2: autenticación de usuarios  Para nuestro sistema de gestión de noticias se va a restringir el acceso a las operaciones a unos usuarios identificados por un nombre y una contraseña  La información de los usuarios autorizados se almacenará en una tabla de la base de datos  Las contraseñas de los usuarios se almacenarán en forma encriptada  Esquema: CognosInformáticaEducativa
  • 12. AUTENTICACIÓN DE USUARIOS inicio enviado formulario iniciar sesión datos correctos sesión iniciada menú mostrar errormostrar formulario insertar noticia logoutconsultar noticias sí sí sí no no no error eliminar noticia CognosInformáticaEducativa