<?php session_start(); include_once "../conectbd.php"; require_once '../funciones.php'; $link = Conectar(); $email = $_POST['email']; if ($email != "") { $resultado = $link->query(" SELECT * FROM Usuario WHERE email = '{$email}' "); if ($resultado->num_rows > 0) { $usuario = $resultado->fetch_assoc(); $linkTemporal = generarLinkTemporal($usuario['email'], $link); if ($linkTemporal) { enviarEmail($usuario['email'], generarMensaje($linkTemporal)); echo '<div class="alert alert-info"> Un correo ha sido enviado a su cuenta de email con las instrucciones para restablecer la contraseña </div>'; } else { echo 'No puedo generarse la accion'; } } else { echo '<div class="alert alert-warning"> No existe una cuenta asociada a ese correo. </div>'; } } else { echo "Debes introducir el email de la cuenta"; } function generarLinkTemporal($email, $link) { // Se genera una cadena para validar el cambio de contraseña $cadena = $email . rand(1, 9999999) . date('Y-m-d'); // Se cifra la cadena para que nadie mas tenga acceso a ella ni pueda averiguar como se ha formado $token = sha1($cadena); $result = $link->query("INSERT INTO tblreseteopass (email, token) VALUES('{$email}','{$token}')");
function verificarLogin($user, $pass) { //El password obtenido se le aplica el crypt(md5) //Posteriormente se compara en el query $pass_c = sha1(md5($pass)); $q = "select * from Usuario where email='{$user}' and password='******'"; //obtenemos el link de la BD y ejecutamos la consulta $link = Conectar(); $result = $link->query($q); //Si el resultado obtenido no tiene nada if ($result->num_rows == 0) { $q = "select intentos, estado from Usuario where email='{$user}'"; $result = $link->query($q); if ($result->num_rows != 0) { $res = mysqli_fetch_assoc($result); //si estado es bloqueado //Muestra un error y redirige al index if ($res['estado'] == 'bloqueado') { echo 'El usuario esta bloqueado, se le ha enviado un email para restaurarlo'; } else { $intentos = $res['intentos']; $intentos = $intentos + 1; //Si es el tercer intento fallido, se bloquea el usuario //Muestra un error y redirige al index if ($intentos == 3) { $q = "UPDATE Usuario SET intentos='{$intentos}', estado='bloqueado' where email='{$user}'"; $result = $link->query($q); $linktemporal = generarLinkTemporal($user, $link); enviarEmail($user, generarMensaje($linktemporal)); echo 'El usuario ha sido bloqueado, se le ha enviado un email para restaurarlo'; } else { $q = "UPDATE Usuario SET intentos='{$intentos}' where email='{$user}'"; $result = $link->query($q); echo 'Usuario o Contrasenia Incorrecta'; } } } else { echo 'Usuario o Contrasenia Incorrecta'; } } else { $reg = mysqli_fetch_assoc($result); if ($reg['estado'] != 'bloqueado') { session_start(); $_SESSION["codSesion"] = guardarConexion($reg['email']); $_SESSION["useremail"] = $reg['email']; $_SESSION["username"] = $reg['nomApellidos']; $_SESSION["rol"] = $reg['rol']; //Poner a cero el numero de intentos $q = "UPDATE Usuario SET intentos='0' where email='{$user}'"; $result = $link->query($q); usuarioEstaOnline(); header("location:layout.php"); $link->close(); die; } else { echo '<script type="text/javascript"> alert("El usuario esta bloqueado."); window.location="layout.php" </script>'; } } }