SlideShare una empresa de Scribd logo
1 de 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;

Más contenido relacionado

La actualidad más candente

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativoschikscorpion_23
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++ncrmax
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gioRobert Wolf
 
Ejemplo de uno a uno
Ejemplo de uno a unoEjemplo de uno a uno
Ejemplo de uno a unorafita07zr
 
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTOELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTOelsiscarolinacaasest
 
Resolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorResolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorVictor Alfonzo Marquina
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
Diccionario de datos Unefa
Diccionario de datos UnefaDiccionario de datos Unefa
Diccionario de datos Unefaginotamborero
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basicRosa Marina Mosquera
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de controlJuan Pablo Bustos Thames
 

La actualidad más candente (20)

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Sistema de entrada/salida
Sistema de entrada/salidaSistema de entrada/salida
Sistema de entrada/salida
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gio
 
Ejemplo de uno a uno
Ejemplo de uno a unoEjemplo de uno a uno
Ejemplo de uno a uno
 
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTOELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
 
Resolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorResolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computador
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Diccionario de datos Unefa
Diccionario de datos UnefaDiccionario de datos Unefa
Diccionario de datos Unefa
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basic
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de control
 
Website #01: HTML cơ bản
Website #01: HTML cơ bảnWebsite #01: HTML cơ bản
Website #01: HTML cơ bản
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 

Similar a Sesiones en Php

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
 
Mecanismos de protección contra inyección sql
Mecanismos de protección contra inyección sqlMecanismos de protección contra inyección sql
Mecanismos de protección contra inyección sqlAlejandra Toledano
 
Introducción a ASP.NET
Introducción a ASP.NETIntroducción a ASP.NET
Introducción a ASP.NETpabloesp
 
Php y MySQL
Php y MySQLPhp y MySQL
Php y MySQLKaris
 

Similar a Sesiones en Php (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
 
Funciones
FuncionesFunciones
Funciones
 
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
 
Mecanismos de protección contra inyección sql
Mecanismos de protección contra inyección sqlMecanismos de protección contra inyección sql
Mecanismos de protección contra inyección sql
 
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
 
Php y MySQL
Php y MySQLPhp y MySQL
Php y MySQL
 
9.laravel
9.laravel9.laravel
9.laravel
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Último (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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...
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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)
 

Sesiones en Php

  • 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;