1
resposta

Simulando tela de login.



<meta charset="UTF-8">

<script>

    function pulaLinha () {

        document.write ("<br>");
    }

    function mostra (frase) {

    document.write (frase);
    pulaLinha();

    }

    //Usuário e Senha 
    var userPadrao = "Will" ;
    var senhaPadrao = "Will" ;

    //Máximo e minimo de tentativas de login
    var maxTentativa = 3;
    var tentativaAtual = 1;

    //Laço while enquanto tentativa atual for menor que maxtentativa o login será solicitado.
    while (tentativaAtual <= maxTentativa){

    //Solicita usuário e senha
    var userDigitado  = prompt("Digite o usuário : ");
    var senhaDigitada = prompt("Digite a senha : ");

    if (userDigitado == userPadrao && senhaDigitada == senhaPadrao){
        mostra("Seja Bem vindo" + userPadrao);

    //Caso o login digitado esteja correto, estou atribuindo o maxdetentativa a tentativaatual , assim irá quebrar o looping, caso dados estejam corretos.    
        maxTentativa = tentativaAtual;

    } else {
        if (userDigitado != userPadrao){
            alert ("Usuário incorreto, tente novamente. ");}
        if (senhaDigitada != senhaPadrao){
            alert("Senha incorreta , tente novamente. ");}
        }
        tentativaAtual++;
    }

    mostra ("FIM");

</script>
1 resposta

Boa tarde Willian, tudo certo?

Que ótimo ver esse projeto! É muito legal a sensação quando conseguimos simular algo que fazemos diariamente, como o login em uma aplicação.

E eu sei que esse código é uma versão super simplificada de como os sites hoje em dia fazem validações de usuários, mas vou aproveitar a deixa para uma sugestão que serve para projetos mais "sérios" também: quando um usuário não conseguir se autenticar, devolva um erro genérico para que não seja possível descobrir os nomes de usuários da aplicação.

Então sugiro algo do tipo:

if ( userDigitado != userPadrao || senhaDigitada != senhaPadrao) {
    alert ("Usuário e/ou senha incorretos, tente novamente. ");
}

Essa é apenas uma das diversas práticas de segurança que podem ser implementadas, e hoje em dia é bem necessários que os desenvolvedores sejam capazes de descobrir e realizar alterações que deixem as aplicações mais seguras.

Continue assim e bons estudos!