Script muito simples em Javascript para comprovar o grau de segurança de uma senha escrita pelo utilizador. Dado que se trata de um script a correr do lado do cliente, a evolução do nível de segurança poderá ser mostrada à medida que o utilizador vai escrevendo a sua senha no campo do formulário.
Este script poderá ser utilizado livremente no desenvolvimento de páginas web, oferecendo aos visitantes uma informação fide-digna do grau de segurança das senhas criadas, motivando uma escolha mais “pensada” da respectiva senha.
Para valorizar o grau de segurança de uma senha vamos ter em conta as seguintes pontuações sobre diferentes conceitos:
Senha tem letras e números: +30%
Senha tem maiúsculas e minúsculas: +30%
Senha tem entre 4 e 5 caracteres: +10%
Senha tem entre 6 e 8 caracteres: +30%
Senha tem mais de 8 caracteres: +40%
Estas percentagens podem ser definidas pelo programador, consoante o resultado final pretendido, e o site onde a validação estará incluída.
Outros critérios podem ser acrescentados, ou removidos alguns existentes, tendfo por base a mesma lógica, o resultado final e o site onde se vai incluir o script.
Para que os critérios fiquem mais claros, junto uns exemplos de combinações de critérios e respectivas percentagens finais:
A) Uma senha com números e letras, com 7 caracteres teria: 30% por letras e números, mais 30% por ter entre 6 e 8 caracteres: resultado final => 60% de segurança.
B) Outra senha com letras maiúsculas e minúsculas, sem números, e com 8 caracteres: 30% por letras maiúsculas e minúsculas, mais 40% por mais de 8 caracteres: resultado final => 70% de segurança.
A função de javascript está transcrita de seguida:
function seguranca_senha(senha){
var seguranca = 0;
if (senha.length!=0){
if (tem_numeros(senha) && tem_letras(senha)){
seguranca += 30;
}
if (tem_minusculas(senha) && tem_maiusculas(senha)){
seguranca += 30;
}
if (senha.length >= 4 && senha.length <= 5){
seguranca += 10;
}else{
if (senha.length >= 6 && senha.length <= 8){
seguranca += 30;
}else{
if (senha.length > 8){
seguranca += 40;
}
}
}
}
return seguranca
}
Vão sendo validados e conjugados os critérios que definimos anteriormente, para se ir atribuíndo um valor de segurança à senha introduzida.
Exemplo de uso num formulário que pede uma senha
Agora, vejamos um exemplo simples do uso da função num formulário, que mostra a segurança de uma senha escrita pelo utilizador:
Exemplo de formulário:
<form>
Senha: <input type=”password” size=20 name=”senha” onkeyup=”mostra_seguranca_senha(this.value, this.form)”>
<i>Segurança da Senha:</i> <input name=”valor_seguranca” type=”text” style=”border: 0px; background-color:ffffff; text-decoration:italic;” onfocus=”blur()”>
</form>
Como se vê, temos 1 campo INPUT do tipo PASSWORD onde escreveremos a senha. A este campo acrescentou-se um evento ONKEYUP que é executado quando o utilizador clica uma tecla, mas apenas no momento em que a solta. Essa função será a responsável por fazer com que se visualize o valor de segurança da senha.
De seguida, colocamos outro campo de texto, para colocar o valor de segurança da senha. Neste campo impedimos que se possa escrever, com o evento onfocus=”blur()”>. Só poderá ser modificado por programação Javascript.
Vejamos, então, a função mostra_seguranca_senha(), que se encarrega de receber tanto a senha escrita como o formulário onde se encontra, para actualizar o respectivo valor de segurança.
function mostra_seguranca_senha(senha,formulario){
seguridad=seguranca_senha(senha);
formulario.valor_seguranca.value=seguranca + “%”;
}
A função devolve a segurança da string digitada como senha, colocando esse valor no campo valor-seguranca.
Verifique o resultado final aqui.
Artigo muito interessante, obrigado.
Reportar este comentário!
Yhanks for your great website! ^^
Lesbian Hentai
Reportar este comentário!
Yo Yo Yo! wazzap!
hukilxxxru
And Bye.
Reportar este comentário!