SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente (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
 

Similar a PHP Tema 5 - Sesiones

Similar a 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
 

Más de 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
 

Más de 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
 

Último

EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 

Último (20)

La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 

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