Y resulta que si nuestros usuarios utilizan contraseñas cómo 'aaaa' o '1234', el atacante lo tendrá mucho más facil que si tenemos usuarios precavidos con contraseñas complejas como pueden ser 'br4#2@98Yb3' o 'b4$rTe43Ω'. Por esto, es conveniente comprovar el nivel de seguridad de la contraseña antes de que el usuario la inserte, a continuación os muestro un script que he realizado percisamente para esto.
<script>
function passwordLevel (p){
l = 0;
v1 = 'aeiou1234567890';
v2 = 'AEIOUbcdfghjklmnpqrst';
v3 = 'vxyzBCDFGHJKLMNPQRST';
v4 = 'VXYZ$@#';
for (i = 0; i < p.length; i++){
if (v1.indexOf(p[i]) != -1) l += 1;
else if (v2.indexOf(p[i]) != -1) l += 2;
else if (v3.indexOf(p[i]) != -1) l += 3;
else if (v4.indexOf(p[i]) != -1) l += 4;
else l += 5;
}
l *= 3;
if(l > 100)l = 100;
return l;
}
</script>
Este script, devolverá un número del 1 al 100 en funcion de la dificultad de conseguir la contraseña por fuerza bruta, de esta manera, por ejemplo, podemos hacer que el formulario no se envíe si la contraseña no cumple un nivel mínimo de 30:
<form onsubmit="if (passwordLevel(this.pass.value) < 30){ alert('La contraseña es demasiado simple'); return false; }">
<input name="pass">
<input type="submit">
</form>
Y si el usuario intenta escribir una contraseña muy sencilla, le mostrará un mensaje y no podrá enviar el formulario.
Usuarios que han visto este tema también han visto...
- Frase al azar con Javascript
- Cambiando el color a las celdas con links
- Verificación del contenido de un formulario
- Cambio de color al poner el cursor
- Mostrar descripción de link en la barra de estado
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.