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...
Empezar una Sesión <ul><li>Para empezar a trabajar una sesión en PHP lo primero es iniciarla la sesión, para ello tenemos ...
Empezar una Sesión –  session_start() <ul><li>Usaremos como ejemplo para iniciar una sesión con  la función  session_start...
Empezar una Sesión –  session_start() SID (Session ID) PHP para identificar una sesión, lo realiza a través de un número S...
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...
Almacenar Información –  $_SESSION Es un arreglo (matriz) asociativa que contiene las variables de sesión disponibles en l...
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; ...
Ejemplo:  01 – pagina2.html <?php session_start(); if ($_SESSION[&quot;ESTADO&quot;] != &quot;OK&quot;)   header(&quot;Loc...
Ejemplo:  02 – index.php
Ejemplo:  02 – index.php <form action=&quot;control.php&quot; method=&quot;POST&quot;> <tr> <td colspan=&quot;2&quot; alig...
Ejemplo:  02 – control.php <?PHP session_start(); //vemos si el usuario y contraseña es válido if ($_POST[&quot;usuario&qu...
Ejemplo:  02 – aplicacion.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Aplicación segura</title...
Ejemplo:  02 – seguridad.php <?PHP //Inicio la sesión session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if  (...
Ejemplo:  02 – otra.php <?PHP include (&quot; seguridad.php &quot;);?> <html> <head> <title>Empresa XYZ</title> </head> <b...
Ejemplo:  02 – salir.php <?PHP session_start(); session_destroy(); ?> <html> <head>  <title>Fin de Sesión</title>  </head>...
Ejemplo:  02 Home Page index.php control.php salir.php otra.php aplicacion.php seguridad.php Ingreso de Datos Validar Dato...
FUNCIONES HEADER() INCLUDE()
Redireccionar –  header() header (&quot; Location:  http://www.php.net&quot;);  exit; Cabecera &quot;Location:&quot;  head...
Reutilizar Código –  include() Permite reutilizar porciones de código (script, o simple html) cuantas veces quieras. Es de...
ALGORITMOS
Algoritmo –  01 index.php < form  method=&quot;post&quot; action=&quot; comprobar.php &quot;> <p>Leer  <input name=&quot;t...
Algoritmo –  01 comprobar.php <?php // Comprueba un Campo Ej. Nombre // Ambito: Solo String y Longitud 2..20 function   co...
Algoritmo –  01 ereg (&quot;^[ a-zA-Z -_ ]{2,20} $ &quot;,  $nombre_usuario ) Función EREG : ejecuta el matching de una ex...
Upcoming SlideShare
Loading in …5
×

Sesiones en Php

72,294 views

Published on

Seguridad en PHP con el uso de Sesiones Ing. Fabian Guerrero Medina

Published in: Technology
12 Comments
20 Likes
Statistics
Notes
  • me da error a partir de control.php
    no se porqué
    ni poniendo usuario y contraseña bien
    ni poniendolo mal
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Muy bueno. Concreto y claro
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Muy buen tuto ,,,, descargando para mejor análisis PHP es lo más apto para mis intereses ,,, Saludos.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Ami al entrar al index me envia esto

    Notice: Undefined index: errorusuario in C:\xampp\htdocs\php-mailer\index.php on line 4

    y al teclear usuario y contrasena real me devuelve al index con el mismo errror

    Notice: Undefined index: errorusuario in C:\xampp\htdocs\php-mailer\index.php on line 4

    que puede ser??
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • En el ejemplo 2 el código está mal !!! FALTA EL INPUT DE LA CLAVE
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
72,294
On SlideShare
0
From Embeds
0
Number of Embeds
713
Actions
Shares
0
Downloads
2,891
Comments
12
Likes
20
Embeds 0
No embeds

No notes for slide

Sesiones en Php

  1. 1. FACULTAD DE INGENIERÍA Escuela Profesional de Ingeniería Informática y de Sistemas
  2. 2. SEGURIDAD EN PHP USO DE SESIONES
  3. 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. 4. Empezar una Sesión <ul><li>Para empezar a trabajar una sesión en PHP lo primero es iniciarla la sesión, para ello tenemos dos caminos: </li></ul><ul><ul><li>session_start() </li></ul></ul><ul><ul><li>session_register(‘mi_var’) </li></ul></ul>
  5. 5. Empezar una Sesión – session_start() <ul><li>Usaremos como ejemplo para iniciar una sesión con la función session_start() , esta función debe estar ANTES de cualquier otro código. </li></ul><ul><ul><ul><ul><ul><li><?php </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>session_start(); </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>sentencias PHP; </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>?> </li></ul></ul></ul></ul></ul>- 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.
  6. 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. 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. 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. 9. Función: session_unset Elimina todas la variables de la sesión.
  10. 10. Función: session_destroy Destruir la sesión
  11. 11. Ejemplo: 01
  12. 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. 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. 14. Ejemplo: 02 – index.php
  15. 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. 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. 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. 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. 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. 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. 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
  22. 22. FUNCIONES HEADER() INCLUDE()
  23. 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. 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.
  25. 25. ALGORITMOS
  26. 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. 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. 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;

×