1
respuesta

[Duda] Ingreso de usuario

Una duda en caso de que falle el usuario después de los 3 intentos, es posible bloquear su ingreso después de un tiempo establecido para que intente nuevamente, ya que en este caso con solo recargar la pagina puede volver a intentar nuevamente, disculpen si pregunto cosas muy adelantadas pero me parece interesante lo mucho que se puede lograr con lo aprendido hasta ahora. Gracias de antemano, dejo mi código a continuación.

<meta charset="UTF-8">
<script>

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";
    var intentos=3;
    var contador=1;
    while(contador<=intentos){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");        
        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            document.write("<h1>Bienvenido "+ inicioDeSesionIngresado + "</h1>");
            break;
        } else {
            if ((intentos-contador)==0){
                alert("Usted no tiene más intentos por favor espere 24 horas para intentar nuevamente, Gracias");

            } else{
                alert("inicio de sesión inválido. Favor intente de nuevo Usted tiene "+(intentos-contador) + " intentos");
                }
        }
        contador++;

    }
</script>
1 respuesta

La forma de cómo denegarle que se haga login, si ya intento 3 veces es usar el LOCALTORAGE que proporciona JavaScript.

<meta charset="UTF-8">
<script>
    var intentos = localStorage.getItem("intentos");
    if(!intentos){
        localStorage.setItem("intentos",0);
    }else if(intentos >= 3){
        alert("Usted no puede, ya se le dio intentos");
        //return;//no se como se corta el programa, supongo que con esto
    }

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";
    var intentos=3;

    var contador=1;
    while(contador<=intentos){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");        
        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            document.write("<h1>Bienvenido "+ inicioDeSesionIngresado + "</h1>");
            break;
        } else {
            if ((intentos-contador)==0){
                alert("Usted no tiene más intentos por favor espere 24 horas para intentar nuevamente, Gracias");
            } else{
                alert("inicio de sesión inválido. Favor intente de nuevo Usted tiene "+(intentos-contador) + " intentos");
            }
        }
        contador++;
    }
    localStorage.setItem("intentos",contador);

</script>

localStorage, le ayudara a que se guarde la información enformato "llave":"valor". A diferencia de otra herramienta llamada WebStorage, localStorage se queda en la computadora. Es como una hoja de texto que no se borra. Puede consultar cómo usarlo mediante la documentación de MDN: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

Si le fue de ayuda, porfavor marquela como resuelta. Gracias