Page 176 - Programador-PHP
P. 176

Programación Procedural de Aplicaciones Web de baja complejidad
        PHP Experto – Tomo I                                                                                                                                                  Eugenia Bahit



        En la función anterior, primero inicializo un hash vacío. Luego
        verifico si user y pass han venido a través de HTTP POST con
        un   valor   declarado.   De   ser   así,   hasheo   ambos   datos   (sin
        riesgos,   ya   que   al   cifrarlos   con   MD5   directamente,   no   hay
        posibilidad de que se inyecte código malicioso de ningún tipo).
        Finalmente, retorno ese hash (si no vinieron datos, retornará el
        hash vacío).




          /*
              Comparo ambos hashes. Si son idénticos, retorno Verdadero
          */
          function validar_user_y_pass() {
              $user_hash = get_post_data();
              $system_hash = HASH_ACCESO;
              if($user_hash == $system_hash) {
                  return True;
              }
          }
          /*
              Esta será la función principal, que será llamada tras enviar el
              formulario. Si los datos ingresados coinciden con los esperados,
              inicio la sesión del usuario.
              Finalmente, redirijo al usuario a la página restringida por defecto
              (posteriormente crearemos una función que se encargue de ello)
          */
          function login() {
              $user_valido = validar_user_y_pass();
              if($user_valido) {
                  $_SESSION['login_date'] = time();
              }
              goto_page(PAGINA_RESTRINGIDA_POR_DEFECTO);
          }



        La   función  login()  genera   una   variable   de   sesión   llamada
        login_date  cuyo   valor   es   la   marca   de   tiempo   actual   (al
        momento del logueo).
        Utilizaremos   luego   esa   variable   de   sesión,   para   verificar   la
        inactividad del usuario.






                                             176
   171   172   173   174   175   176   177   178   179   180   181