SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Desarrollo de sitios web
con PHP y MySQL
Tema 5: Sesiones
Tema 5: Sesiones
1. Introducción
2. Manejo de sesiones
3. Autenticación de usuarios
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
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
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
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
Manejo de sesiones
Ejercicio 1: ejemplo simple de sesiones
– Ilustra cómo registrar variables, acceder a ellas y
posteriormente eliminarlas
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
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>
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:
Autenticación de usuarios
login
menú
mostrar
formulario
mostrar
error
insertar
noticia
logout
consultar
noticias
eliminar
noticia
Autenticación de usuarios
inicio
enviado formulario
iniciar sesión
datos correctos
sesión iniciada
menú
mostrar error
mostrar formulario
insertar noticia logout
consultar noticias
sí
sí
sí
no
no
no error
eliminar noticia

Weitere ähnliche Inhalte

Was ist angesagt? (12)

Cliente web y servidor web
Cliente web y servidor webCliente web y servidor web
Cliente web y servidor web
 
Prestashop overview2
Prestashop overview2Prestashop overview2
Prestashop overview2
 
PHP: Cookies
PHP: CookiesPHP: Cookies
PHP: Cookies
 
Mod ldap por_caballero_julio_y_perez_javier
Mod ldap por_caballero_julio_y_perez_javierMod ldap por_caballero_julio_y_perez_javier
Mod ldap por_caballero_julio_y_perez_javier
 
hola
holahola
hola
 
Antecedentes de-las-redes-informáticas
Antecedentes de-las-redes-informáticasAntecedentes de-las-redes-informáticas
Antecedentes de-las-redes-informáticas
 
Entrada 10
Entrada 10Entrada 10
Entrada 10
 
Servidores, seguridad y autenticación
Servidores, seguridad y autenticaciónServidores, seguridad y autenticación
Servidores, seguridad y autenticación
 
Curso PHP Y MYSQL
Curso PHP Y MYSQLCurso PHP Y MYSQL
Curso PHP Y MYSQL
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Javier brieva
Javier brievaJavier brieva
Javier brieva
 
Drupal
DrupalDrupal
Drupal
 

Ähnlich wie PHP Tema 5 - Sesiones

Ähnlich wie PHP Tema 5 - Sesiones (20)

Curso php dia5
Curso php dia5Curso php dia5
Curso php dia5
 
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
 
71 Php. Sesiones I
71 Php. Sesiones I71 Php. Sesiones I
71 Php. Sesiones I
 
Robo desesionesfinal
Robo desesionesfinalRobo desesionesfinal
Robo desesionesfinal
 
Apache2 dia1
Apache2 dia1Apache2 dia1
Apache2 dia1
 
RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
 
Php y MySqul
Php y MySqul  Php y MySqul
Php y MySqul
 
03 asor gestión de usuarios y ldap
03 asor   gestión de usuarios y ldap03 asor   gestión de usuarios y ldap
03 asor gestión de usuarios y ldap
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
 
Servidor web
Servidor webServidor web
Servidor web
 
PHP: Sesiones
PHP: SesionesPHP: Sesiones
PHP: Sesiones
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHP
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)
 
Hacking de servidores web OMHE
Hacking de servidores web OMHEHacking de servidores web OMHE
Hacking de servidores web OMHE
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 

Mehr von Spacetoshare

Probles on Algorithms
Probles on AlgorithmsProbles on Algorithms
Probles on AlgorithmsSpacetoshare
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosSpacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemáticaSpacetoshare
 
Ejercicios Investigación de operaciones
Ejercicios Investigación de operacionesEjercicios Investigación de operaciones
Ejercicios Investigación de operacionesSpacetoshare
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamientoSpacetoshare
 
Como escribir tesis
Como escribir tesisComo escribir tesis
Como escribir tesisSpacetoshare
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSSpacetoshare
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de EnsambladorSpacetoshare
 
Ejercicios álgebra superior
Ejercicios álgebra superiorEjercicios álgebra superior
Ejercicios álgebra superiorSpacetoshare
 
INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA Spacetoshare
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuacionesSpacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemáticaSpacetoshare
 
Tareas números complejos
Tareas números complejosTareas números complejos
Tareas números complejosSpacetoshare
 

Mehr von Spacetoshare (20)

EL HUECO.pdf
EL HUECO.pdfEL HUECO.pdf
EL HUECO.pdf
 
Probles on Algorithms
Probles on AlgorithmsProbles on Algorithms
Probles on Algorithms
 
Sums ADA
Sums ADASums ADA
Sums ADA
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
 
Fórmulas ADA
Fórmulas ADAFórmulas ADA
Fórmulas ADA
 
Ejercicios Investigación de operaciones
Ejercicios Investigación de operacionesEjercicios Investigación de operaciones
Ejercicios Investigación de operaciones
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Ejercicios jess
Ejercicios jessEjercicios jess
Ejercicios jess
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
Como escribir tesis
Como escribir tesisComo escribir tesis
Como escribir tesis
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de Ensamblador
 
Ejercicios álgebra superior
Ejercicios álgebra superiorEjercicios álgebra superior
Ejercicios álgebra superior
 
INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuaciones
 
Determinantes
DeterminantesDeterminantes
Determinantes
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
 
Tareas números complejos
Tareas números complejosTareas números complejos
Tareas números complejos
 
Ejer
EjerEjer
Ejer
 

Kürzlich hochgeladen

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 

Kürzlich hochgeladen (20)

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 

PHP Tema 5 - Sesiones

  • 1. Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones
  • 2. Tema 5: Sesiones 1. Introducción 2. Manejo de sesiones 3. Autenticación de usuarios
  • 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
  • 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
  • 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
  • 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
  • 7. Manejo de sesiones Ejercicio 1: ejemplo simple de sesiones – Ilustra cómo registrar variables, acceder a ellas y posteriormente eliminarlas
  • 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
  • 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>
  • 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:
  • 12. Autenticación de usuarios inicio enviado formulario iniciar sesión datos correctos sesión iniciada menú mostrar error mostrar formulario insertar noticia logout consultar noticias sí sí sí no no no error eliminar noticia