}else { $consultaResultante = $bd->prepare("INSERT INTO pass(password) values('$passNueva')"); $consultaResultante->execute(); if($consultaResultante){ echo("<script>alert('El cambio de contraseña se a realizado correctamente');</script>"); }else { echo("<script>alert('No se realizó el cambio');</script>"); } }*/ }); $app->post("/login/", function () use($app, $bd) { expiraSesion(); $solicitud = $app->request(); $user = $app->request->post("user"); $pass = $app->request->post("pass"); $dbManejador = new BDManager(); if (empty($_SESSION["intentosIp"])) { $_SESSION["intentosIp"] = 0; } if (empty($_SESSION["{$user}"])) { $consultaResultante = $bd->prepare("SELECT intentosFallidos FROM usuario WHERE matricula='{$user}'"); $consultaResultante->execute(); $resultados = $consultaResultante->fetchAll(PDO::FETCH_ASSOC); $_SESSION["{$user}"] = $resultados[0]["intentosFallidos"]; } $resConsulta = $dbManejador->realizarConsulta("SELECT ps.password FROM pass ps, usuario us WHERE ps.matricula = us.matricula AND ps.matricula = '{$user}' AND us.intentosFallidos < 3 ORDER BY ps.fecha DESC LIMIT 1"); //$consultaResultante = $bd->prepare("SELECT p.matricula, p.nombre, p.apellidos, u.rol, ps.fecha FROM persona p, usuario u, pass ps WHERE p.matricula= u.matricula AND u.matricula=ps.matricula AND u.matricula='$user' AND ps.password=sha1('$pass') AND u.intentosFallidos<3"); //$consultaResultante->execute(); if ($resConsulta && strcmp($resConsulta[0]['password'], sha1($pass)) == 0) { //Si hay usuarios $resConsulta = $dbManejador->realizarConsulta("SELECT p.matricula, p.nombre, p.apellidos, u.rol, ps.fecha FROM persona p, usuario u, pass ps WHERE p.matricula= u.matricula AND u.matricula=ps.matricula AND u.matricula='{$user}' AND ps.password=sha1('{$pass}') AND u.intentosFallidos<3");
$apellidos = $app->request->post("apellidos"); $user = $app->request->post("user"); $pass = $app->request->post("pass"); $resultadoConsulta = $bdManager->realizarConsulta("SELECT persona_id FROM usuario WHERE persona_id='{$user}'"); if ($resultadoConsulta) { renderPrincipal($twig, "principal.html", "El usuario ya existe, intente con otro usuario"); $app->stop(); } $bdManager->realizarAccion("INSERT INTO usuario(persona_id, rol, intentos) VALUES('{$user}', 'alumno', 0)"); $bdManager->realizarAccion("INSERT INTO persona(persona_id, nombres, apellidos) VALUES('{$user}', '{$name}', '{$apellidos}')"); $bdManager->realizarAccion("INSERT INTO pass(persona_id, pass, antiguedad) VALUES('{$user}', sha1('{$pass}'), NOW())"); renderPrincipal($twig, "principal.html", "Usuario registrado correctamente"); }); $app->post('/nuevaContrasenia', function () use($app) { if (!isSessionExpired()) { $bdManager = new BDManager(); $currentPass = $app->request->post("currentPass"); $newPass = $app->request->post("newPass"); $resultadoConsulta = $bdManager->realizarConsulta("SELECT antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' AND pass=sha1('" . $currentPass . "')"); if ($resultadoConsulta) { $resultadoConsulta = $bdManager->realizarConsulta("SELECT antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' and pass=sha1('" . $newPass . "')"); if ($resultadoConsulta) { echo "La contraseña nueva ya fue usada alguna vez."; } else { $resultadoConsulta = $bdManager->realizarConsulta("SELECT pass, antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' ORDER BY antiguedad DESC LIMIT 3"); if (count($resultadoConsulta) >= 3) { $resultadoConsulta = $bdManager->realizarAccion("DELETE FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' ORDER BY antiguedad ASC LIMIT 1"); } $bdManager->realizarAccion("INSERT INTO pass VALUES('" . $_SESSION["user"]->getCorreo() . "', sha1('" . $newPass . "'), NOW())"); echo "La contraseña se cambió correctamente."; guardarBitacora("<" . $_SESSION["user"]->getCorreo() . "> Cambio de contraseña. ", $app->request()->getIp());