示例#1
0
$app->post("/camPass/", function () use($app, $bd) {
    if (sesionExapirada()) {
        $app->redirect("/bibliotecaseguridad/salir");
    }
    $passActual = $app->request->post("passAnt");
    $passNueva = $app->request->post("passNueva");
    $dbManejador = new BDManager();
    $resConsulta = $dbManejador->realizarConsulta("SELECT fecha FROM pass WHERE matricula = '" . $_SESSION["usuario"] . "' AND password = sha1('{$passActual}')");
    if ($resConsulta) {
        $resConsulta = $dbManejador->realizarConsulta("SELECT fecha FROM pass WHERE matricula = '" . $_SESSION["usuario"] . "' AND password = sha1('{$passNueva}')");
        if ($resConsulta) {
            echo "La contrasenia ya existe en el historial";
        } else {
            $resConsulta = $dbManejador->realizarConsulta("SELECT password, fecha FROM pass WHERE matricula= '" . $_SESSION["usuario"] . "' ORDER BY fecha DESC LIMIT 3");
            if (count($resConsulta) >= 3) {
                $resConsulta = $dbManejador->realizarAccion("DELETE FROM pass WHERE matricula= '" . $_SESSION["usuario"] . "' ORDER BY fecha ASC LIMIT 1");
            }
            $resConsulta = $dbManejador->realizarAccion("INSERT INTO pass VALUES('" . $_SESSION["usuario"] . "', sha1('{$passNueva}'), NOW())");
            echo "La contrase;a fue cambiada correctamente";
        }
    } else {
        echo "No existe la contrasenia actual";
    }
    echo "<br><a href='" . $app->urlFor("inicio") . "'> Regresar </a>";
    /* $consultaResultante = $bd->prepare("SELECT matricula FROM pass WHERE password=sha1('$passActual') AND matricula='".               $_SESSION["usuario"] ."';");
        $consultaResultante->execute();
       if($consultaResultante->rowCount()>0){
            $consultaResultante = $bd->prepare("SELECT matricula FROM pass WHERE password=sha1('$passNueva') AND matricula='".                 $_SESSION["usuario"] ."';");
            $consultaResultante->execute();
            if($consultaResultante->rowCount() == 0){
                $consultaResultante = $bd->prepare("SELECT fecha from pass where matricula='". $_SESSION["usuario"] ."' ORDER BY fecha                   ASC LIMIT 1;");
示例#2
0
    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());
            }
        } else {
            echo "La contraseña actual que proporsionó no existe.";
        }
    } else {
        echo "Tu sesión fue terminada.";
        guardarBitacora("<" . $_SESSION["user"]->getCorreo() . "> Sesión expirada antes de cambio de contraseña. ", $app->request()->getIp());
    }
    echo "<br><a href='logout'>Regresar a principal</a>";
});
/* ********************* FUNCIONES ********************* */