SlideShare ist ein Scribd-Unternehmen logo
1 von 28
FACULTAD DE INGENIERÍA Escuela Profesional de Ingeniería Informática y de Sistemas
SEGURIDAD EN PHP USO DE SESIONES
Introducción Qué son las sesiones? Las sesiones son un mecanismo basado en cookies que permiten identificar a los usuarios que acceden a un sitio Web, de esta manera almacenar información referente a sus transacciones.
Empezar una Sesión ,[object Object],[object Object],[object Object]
Empezar una Sesión –  session_start() ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],- Esta función en caso  de que el visitante no tenga una sesión la crea y si ya tiene una sesión continúa en ella.
Empezar una Sesión –  session_start() SID (Session ID) PHP para identificar una sesión, lo realiza a través de un número SID. Esto se le proporciona al cliente para identificarse de forma exclusiva. Este SID siempre se crea al usar la función session_start(). Si se usa session_register(). El valor del SID se almacena en la variable global PHPSESSID.
ID de una Sesión –  session_id() Se usa para proporcionar (leer) el número ID de sesión que se ha inicializado. También se usa esta función para cambiar el ID de la sesión actual. echo ("TU ID: ".  session_id()  );
Almacenar Información –  $_SESSION Es un arreglo (matriz) asociativa que contiene las variables de sesión disponibles en la aplicación web actual. $_SESSION [“autorizado"] = "OK"
Función:  session_unset Elimina todas la variables de la sesión.
Función:  session_destroy Destruir la sesión
Ejemplo:  01
Ejemplo:  01- index.php <?php session_start(); ?> <p>BIENVENIDOS</p> <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;pagina2.php&quot;> <p>Nombre  <input name=&quot;txt_nombre&quot; type=&quot;text&quot; id=&quot;txt_nombre&quot;> <?php $_SESSION[&quot;ESTADO&quot;]  =  &quot;OK&quot; ?> </p> <p> <input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Enviar&quot;> </p> </form> Crear Sesión Crear Variable de Sesión
Ejemplo:  01 – pagina2.html <?php session_start(); if ($_SESSION[&quot;ESTADO&quot;] != &quot;OK&quot;)   header(&quot;Location:  index.php &quot;); ?> <?php echo (&quot;Hola &quot;.$_POST[&quot;txt_nombre&quot;]); ?>
Ejemplo:  02 – index.php
Ejemplo:  02 – index.php <form action=&quot;control.php&quot; method=&quot;POST&quot;> <tr> <td colspan=&quot;2&quot; align=&quot;center&quot;  <?PHP if ($_GET[&quot;errorusuario&quot;]==&quot;si&quot;){?> bgcolor=red><span style=&quot;color:ffffff&quot;><b>Datos incorrectos</b></span> <?PHP }else{?> bgcolor=#cccccc>Introduce tu clave de acceso <?PHP }?> </td> </tr><br> <tr> <td align=&quot;right&quot;>Usuario:</td> <td><input type=&quot;Text&quot; name=&quot; usuario &quot; size=&quot;8&quot; maxlength=&quot;50&quot;></td> </tr><br> <tr> <td align=&quot;right&quot;>Clave:</td> <td><input type=&quot;password&quot; name=&quot; contrasena &quot; size=&quot;8&quot; maxlength=&quot;50&quot;></td> </tr><br> <tr>  <td>   <input type=&quot;Submit“ value=&quot;ENTRAR&quot;></td> </tr> </form>
Ejemplo:  02 – control.php <?PHP session_start(); //vemos si el usuario y contraseña es válido if ($_POST[&quot;usuario&quot;]==“coquito&quot; && $_POST[&quot;contrasena&quot;]==&quot;123&quot;){ //usuario y contraseña válidos //Crear variable para la sesión $_SESSION[&quot;autentificado&quot;]= “1&quot;; $_SESSION[&quot;user&quot;]= $_POST[&quot;usuario&quot;]; $_SESSION[&quot;pass&quot;]= $_POST[&quot;contrasena&quot;]; header (&quot;Location:  aplicacion.php &quot;); }else { //si no existe, ir a la Página de Inicio header(&quot;Location:  index.php?errorusuario=si &quot;); } ?>
Ejemplo:  02 – aplicacion.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Aplicación segura</title> </head> <body> <h1>Bienvenido  <?PHP echo $_SESSION[&quot;user&quot;];?> </h1> <br> ---- <br> Usuario:  <?PHP echo $_SESSION[&quot;user&quot;];?> <br> ---- <br><br> <a href=&quot; otra.php &quot;>Continuar</a> </body> </html>
Ejemplo:  02 – seguridad.php <?PHP //Inicio la sesión session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if  ($_SESSION[&quot;autentificado&quot;] != “1&quot; ) { //si no existe, se dirige a la Página de Inicio header(&quot;Location:  index.php &quot;); //salimos del script exit(); } ?>
Ejemplo:  02 – otra.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Empresa XYZ</title> </head> <body> <h1>Bienvenido  <?PHP echo $_SESSION[&quot;user&quot;];?> </h1> <br><hr>  Sistema de la Empresa XYZ<hr> <br> <br><br> <a href=&quot; salir.php &quot;>Salir</a> </body> </html>
Ejemplo:  02 – salir.php <?PHP session_start(); session_destroy(); ?> <html> <head>  <title>Fin de Sesión</title>  </head> <body> Gracias por tu acceso…  <br><br> <a href=&quot; index.php &quot;>Ir a la Página de Inicio</a> </body> </html>
Ejemplo:  02 Home Page index.php control.php salir.php otra.php aplicacion.php seguridad.php Ingreso de Datos Validar Datos y Crear  Variables de Sesion Datos Erróneos Datos OK Página Segura Página Segura
FUNCIONES HEADER() INCLUDE()
Redireccionar –  header() header (&quot; Location:  http://www.php.net&quot;);  exit; Cabecera &quot;Location:&quot;  header (&quot; Location:  index.php?error=1&quot;);
Reutilizar Código –  include() Permite reutilizar porciones de código (script, o simple html) cuantas veces quieras. Es decir pega el código en donde es llamado.
ALGORITMOS
Algoritmo –  01 index.php < form  method=&quot;post&quot; action=&quot; comprobar.php &quot;> <p>Leer  <input name=&quot;txt_x&quot; type=&quot;text&quot; > </p> <p> <input type=&quot;submit&quot; value=&quot;Enviar&quot;> </p> </form>
Algoritmo –  01 comprobar.php <?php // Comprueba un Campo Ej. Nombre // Ambito: Solo String y Longitud 2..20 function   comprobar_cadena_limite ($nombre_usuario ) { if ( ereg (&quot;^[a-zA-Z_]{2,20}$&quot;,  $nombre_usuario )) { return true; } else { return false; } } $vX = $_POST[&quot;txt_x&quot;]; if ( comprobar_cadena_limite($vX) ) echo (&quot;OK&quot;); else  echo (&quot;Error&quot;); ?>
Algoritmo –  01 ereg (&quot;^[ a-zA-Z _ ]{2,20} $ &quot;,  $nombre_usuario ) Función EREG : ejecuta el matching de una expresión regular.  Termino de Cadena Variable a Evualar Rango 2..20 de caracteres permitidos Permitir estos caracteres especiales Permitir solo letras &quot;^[a-zA-Z0-9_]{2,20}$&quot;

Weitere ähnliche Inhalte

Was ist angesagt?

deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Introducción a recaptcha 3.0
Introducción a recaptcha 3.0Introducción a recaptcha 3.0
Introducción a recaptcha 3.0Jesús Ayús
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencapaulcuenca9
 
Sql injection
Sql injectionSql injection
Sql injectionMinoxx
 

Was ist angesagt? (8)

deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Perl5 hashes
Perl5 hashesPerl5 hashes
Perl5 hashes
 
Curso php y_mysql
Curso php y_mysqlCurso php y_mysql
Curso php y_mysql
 
Introducción a recaptcha 3.0
Introducción a recaptcha 3.0Introducción a recaptcha 3.0
Introducción a recaptcha 3.0
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
Código Bonito con PHP
Código Bonito con PHPCódigo Bonito con PHP
Código Bonito con PHP
 
4.Programación con PHP y MySQL
4.Programación con PHP y MySQL4.Programación con PHP y MySQL
4.Programación con PHP y MySQL
 
Sql injection
Sql injectionSql injection
Sql injection
 

Andere mochten auch

A Blog As A Hot Media Property
A Blog As A Hot Media PropertyA Blog As A Hot Media Property
A Blog As A Hot Media PropertyDebra Ulrich
 
The Army Profession
The Army ProfessionThe Army Profession
The Army Professiontradoc
 
Formulario de regresión, correlación y diseño completamente al azar 2012-2
Formulario de regresión, correlación y diseño completamente al azar 2012-2Formulario de regresión, correlación y diseño completamente al azar 2012-2
Formulario de regresión, correlación y diseño completamente al azar 2012-2ITS CONSULTORIAS S.A.C
 
How to appear in fellowship examinations
How to appear in fellowship examinationsHow to appear in fellowship examinations
How to appear in fellowship examinationsNasar Khan
 

Andere mochten auch (6)

A Blog As A Hot Media Property
A Blog As A Hot Media PropertyA Blog As A Hot Media Property
A Blog As A Hot Media Property
 
10 10-2013
10 10-201310 10-2013
10 10-2013
 
The Army Profession
The Army ProfessionThe Army Profession
The Army Profession
 
La familia
La familiaLa familia
La familia
 
Formulario de regresión, correlación y diseño completamente al azar 2012-2
Formulario de regresión, correlación y diseño completamente al azar 2012-2Formulario de regresión, correlación y diseño completamente al azar 2012-2
Formulario de regresión, correlación y diseño completamente al azar 2012-2
 
How to appear in fellowship examinations
How to appear in fellowship examinationsHow to appear in fellowship examinations
How to appear in fellowship examinations
 

Ähnlich wie Sesiones en-php1536

Implementar la seguridad en el acceso a datos
Implementar la seguridad en el acceso a datosImplementar la seguridad en el acceso a datos
Implementar la seguridad en el acceso a datosHelmilpa
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.comoctabio
 
Cookies y sesiones en php
Cookies y sesiones en phpCookies y sesiones en php
Cookies y sesiones en phpxparra99
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 
Validación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpValidación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpJess_ccs_rock
 
Validación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpValidación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpJess_ccs_rock
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetMoisés Cid Deza
 
vAplicación parte 1
vAplicación parte 1vAplicación parte 1
vAplicación parte 1yanburbano
 
Introducción a ASP.NET
Introducción a ASP.NETIntroducción a ASP.NET
Introducción a ASP.NETpabloesp
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 

Ähnlich wie Sesiones en-php1536 (20)

Implementar la seguridad en el acceso a datos
Implementar la seguridad en el acceso a datosImplementar la seguridad en el acceso a datos
Implementar la seguridad en el acceso a datos
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
PHP
PHPPHP
PHP
 
Cookies y sesiones en php
Cookies y sesiones en phpCookies y sesiones en php
Cookies y sesiones en php
 
PHP
PHPPHP
PHP
 
Seguridad En Programación
Seguridad En ProgramaciónSeguridad En Programación
Seguridad En Programación
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 
Validación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpValidación o autenticación de usuarios en php
Validación o autenticación de usuarios en php
 
Validación o autenticación de usuarios en php
Validación o autenticación de usuarios en phpValidación o autenticación de usuarios en php
Validación o autenticación de usuarios en php
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.Net
 
Seguridad en PHP (es)
Seguridad en PHP (es)Seguridad en PHP (es)
Seguridad en PHP (es)
 
vAplicación parte 1
vAplicación parte 1vAplicación parte 1
vAplicación parte 1
 
Introducción a ASP.NET
Introducción a ASP.NETIntroducción a ASP.NET
Introducción a ASP.NET
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
9.laravel
9.laravel9.laravel
9.laravel
 
Robo desesionesfinal
Robo desesionesfinalRobo desesionesfinal
Robo desesionesfinal
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 

Kürzlich hochgeladen

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Kürzlich hochgeladen (13)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Sesiones en-php1536

  • 1. FACULTAD DE INGENIERÍA Escuela Profesional de Ingeniería Informática y de Sistemas
  • 2. SEGURIDAD EN PHP USO DE SESIONES
  • 3. Introducción Qué son las sesiones? Las sesiones son un mecanismo basado en cookies que permiten identificar a los usuarios que acceden a un sitio Web, de esta manera almacenar información referente a sus transacciones.
  • 4.
  • 5.
  • 6. Empezar una Sesión – session_start() SID (Session ID) PHP para identificar una sesión, lo realiza a través de un número SID. Esto se le proporciona al cliente para identificarse de forma exclusiva. Este SID siempre se crea al usar la función session_start(). Si se usa session_register(). El valor del SID se almacena en la variable global PHPSESSID.
  • 7. ID de una Sesión – session_id() Se usa para proporcionar (leer) el número ID de sesión que se ha inicializado. También se usa esta función para cambiar el ID de la sesión actual. echo (&quot;TU ID: &quot;. session_id() );
  • 8. Almacenar Información – $_SESSION Es un arreglo (matriz) asociativa que contiene las variables de sesión disponibles en la aplicación web actual. $_SESSION [“autorizado&quot;] = &quot;OK&quot;
  • 9. Función: session_unset Elimina todas la variables de la sesión.
  • 10. Función: session_destroy Destruir la sesión
  • 12. Ejemplo: 01- index.php <?php session_start(); ?> <p>BIENVENIDOS</p> <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;pagina2.php&quot;> <p>Nombre <input name=&quot;txt_nombre&quot; type=&quot;text&quot; id=&quot;txt_nombre&quot;> <?php $_SESSION[&quot;ESTADO&quot;] = &quot;OK&quot; ?> </p> <p> <input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Enviar&quot;> </p> </form> Crear Sesión Crear Variable de Sesión
  • 13. Ejemplo: 01 – pagina2.html <?php session_start(); if ($_SESSION[&quot;ESTADO&quot;] != &quot;OK&quot;) header(&quot;Location: index.php &quot;); ?> <?php echo (&quot;Hola &quot;.$_POST[&quot;txt_nombre&quot;]); ?>
  • 14. Ejemplo: 02 – index.php
  • 15. Ejemplo: 02 – index.php <form action=&quot;control.php&quot; method=&quot;POST&quot;> <tr> <td colspan=&quot;2&quot; align=&quot;center&quot; <?PHP if ($_GET[&quot;errorusuario&quot;]==&quot;si&quot;){?> bgcolor=red><span style=&quot;color:ffffff&quot;><b>Datos incorrectos</b></span> <?PHP }else{?> bgcolor=#cccccc>Introduce tu clave de acceso <?PHP }?> </td> </tr><br> <tr> <td align=&quot;right&quot;>Usuario:</td> <td><input type=&quot;Text&quot; name=&quot; usuario &quot; size=&quot;8&quot; maxlength=&quot;50&quot;></td> </tr><br> <tr> <td align=&quot;right&quot;>Clave:</td> <td><input type=&quot;password&quot; name=&quot; contrasena &quot; size=&quot;8&quot; maxlength=&quot;50&quot;></td> </tr><br> <tr> <td> <input type=&quot;Submit“ value=&quot;ENTRAR&quot;></td> </tr> </form>
  • 16. Ejemplo: 02 – control.php <?PHP session_start(); //vemos si el usuario y contraseña es válido if ($_POST[&quot;usuario&quot;]==“coquito&quot; && $_POST[&quot;contrasena&quot;]==&quot;123&quot;){ //usuario y contraseña válidos //Crear variable para la sesión $_SESSION[&quot;autentificado&quot;]= “1&quot;; $_SESSION[&quot;user&quot;]= $_POST[&quot;usuario&quot;]; $_SESSION[&quot;pass&quot;]= $_POST[&quot;contrasena&quot;]; header (&quot;Location: aplicacion.php &quot;); }else { //si no existe, ir a la Página de Inicio header(&quot;Location: index.php?errorusuario=si &quot;); } ?>
  • 17. Ejemplo: 02 – aplicacion.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Aplicación segura</title> </head> <body> <h1>Bienvenido <?PHP echo $_SESSION[&quot;user&quot;];?> </h1> <br> ---- <br> Usuario: <?PHP echo $_SESSION[&quot;user&quot;];?> <br> ---- <br><br> <a href=&quot; otra.php &quot;>Continuar</a> </body> </html>
  • 18. Ejemplo: 02 – seguridad.php <?PHP //Inicio la sesión session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if ($_SESSION[&quot;autentificado&quot;] != “1&quot; ) { //si no existe, se dirige a la Página de Inicio header(&quot;Location: index.php &quot;); //salimos del script exit(); } ?>
  • 19. Ejemplo: 02 – otra.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Empresa XYZ</title> </head> <body> <h1>Bienvenido <?PHP echo $_SESSION[&quot;user&quot;];?> </h1> <br><hr> Sistema de la Empresa XYZ<hr> <br> <br><br> <a href=&quot; salir.php &quot;>Salir</a> </body> </html>
  • 20. Ejemplo: 02 – salir.php <?PHP session_start(); session_destroy(); ?> <html> <head> <title>Fin de Sesión</title> </head> <body> Gracias por tu acceso… <br><br> <a href=&quot; index.php &quot;>Ir a la Página de Inicio</a> </body> </html>
  • 21. Ejemplo: 02 Home Page index.php control.php salir.php otra.php aplicacion.php seguridad.php Ingreso de Datos Validar Datos y Crear Variables de Sesion Datos Erróneos Datos OK Página Segura Página Segura
  • 23. Redireccionar – header() header (&quot; Location: http://www.php.net&quot;); exit; Cabecera &quot;Location:&quot; header (&quot; Location: index.php?error=1&quot;);
  • 24. Reutilizar Código – include() Permite reutilizar porciones de código (script, o simple html) cuantas veces quieras. Es decir pega el código en donde es llamado.
  • 26. Algoritmo – 01 index.php < form method=&quot;post&quot; action=&quot; comprobar.php &quot;> <p>Leer <input name=&quot;txt_x&quot; type=&quot;text&quot; > </p> <p> <input type=&quot;submit&quot; value=&quot;Enviar&quot;> </p> </form>
  • 27. Algoritmo – 01 comprobar.php <?php // Comprueba un Campo Ej. Nombre // Ambito: Solo String y Longitud 2..20 function comprobar_cadena_limite ($nombre_usuario ) { if ( ereg (&quot;^[a-zA-Z_]{2,20}$&quot;, $nombre_usuario )) { return true; } else { return false; } } $vX = $_POST[&quot;txt_x&quot;]; if ( comprobar_cadena_limite($vX) ) echo (&quot;OK&quot;); else echo (&quot;Error&quot;); ?>
  • 28. Algoritmo – 01 ereg (&quot;^[ a-zA-Z _ ]{2,20} $ &quot;, $nombre_usuario ) Función EREG : ejecuta el matching de una expresión regular. Termino de Cadena Variable a Evualar Rango 2..20 de caracteres permitidos Permitir estos caracteres especiales Permitir solo letras &quot;^[a-zA-Z0-9_]{2,20}$&quot;