Contrôler l'indice de sécurité d'un mot de passe

Soyez le premier à donner votre avis sur cette source.

Vue 13 321 fois - Téléchargée 659 fois

Description

Suite à un post sur un forum php
http://www.phpcs.com/forum.v2.aspx?ID=721170
Ce code permet simplement de vérifier l'indice de sécurité
d'un mot de passe et de l'afficher...
Voir code et screenshot

Source / Exemple :


<html>
<head>
<title> securité </title>
<script language="javascript" type="text/javascript">
function Check()
{
	password = document.forms[0].pass.value;
	passwordlow = password.toLowerCase();
	majuscule = false;
	
	//On vérifie si il y a des majuscules
	if(password != passwordlow)
	{
		majuscule = true;
	}
	
	taille = password.length;
	numerique = false;
	// On vérifie qu'il y a des chiffres
	for(i=0;i<taille-1;i++)
	{
		caractere = password.substring(i,i+1);
		if(!isNaN(caractere))
		{
			numerique = true;
		}
	}
	
	if((majuscule==false && numerique==false))
	{
		if(document.getElementById)
		{
		document.getElementById("faible").style.backgroundColor = 'green';
		document.getElementById("moyen").style.backgroundColor = 'white';
		document.getElementById("elevee").style.backgroundColor = 'white';
		}
	}
	else
	{
		if((majuscule || numerique) && taille<=8)
		{
			document.getElementById("faible").style.backgroundColor = 'green';
			document.getElementById("moyen").style.backgroundColor = 'green';
			document.getElementById("elevee").style.backgroundColor = 'white';
		}
		else if(majuscule && numerique && taille>8)
		{
			document.getElementById("faible").style.backgroundColor = 'green';
			document.getElementById("moyen").style.backgroundColor = 'green';
			document.getElementById("elevee").style.backgroundColor = 'green';
		}
	}
}
</script>
</head>
<body>
<form>

<input type="password" name="pass" OnKeyDown="Check();"><br><br>

<table border="2" width="300">
<tr>
<td id="faible" align="center" style="background-color :white;">Faible</td>
<td id="moyen" align="center" style="background-color :white;">Moyen</td>
<td id="elevee" align="center" style="background-color :white;">Elevee</td>
</tr>
</table>

</form>
</body>
</html>

Conclusion :


Ce code peut sûrement être amélioré, mais comme je ne
préconise pas le javascript pour cause de (non) accéssibilité...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Arto_8000
Messages postés
1051
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
5 -
Le mieux pour l'amélioré serait de mesurer le niveau de sécurité en fonction du nombre de possiblité et de certain caractéristique que les mots passes ont, car un mot de passe comme im_a_n00b peu surement être "cracker" par dictionnaire, alors qu'un mot de passe du genre h8h9g0fk5 ne le sera pas et prendra plus de temps à être décodé. Dans ce cas la ton script favorisera le mot de passe im_a_n00b même s'il est plus facile à deviner. Pour le reste c'est bien coder et facile à lire.
bubuze
Messages postés
31
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
25 avril 2006
-
sympa, on peut probablement mieux faire...
pour ma part, je cherche à contrôler l'éloignenement entre un mot de passe et un identifiant.
connaissez-vous un algorythme qui vérifie que le mot de passe ne ressemble pas trop à l'identifiant ?
pour le moment je me contente de vérifier que le pass n'est pas contenu dans l'identifiant et inversement :-/
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
Sympa, en effet. Tu pourrais également faire un test sur la longueur du mot de passe. 4 lettres, c'est pas top !
Petite touche de folie : détection de caractères exotiques, ce qui renforce encore la sécurité du mot de passe.

Enfin, pourquoi l'avoir appelé index.php s'il ne contient pas une ligne de PHP ?
cs_Axel971
Messages postés
51
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
9 août 2006
-
Euh oui désolé question d'habitude :D, oui comme je le disais c'est
juste une base on peut faire des contrôles différents sur la taille, les caractères spéciaux etc...

Pour Bubuze euh ya aussi le cas ou le mot de passe est l'inverse du login, ou les deux contiennent des substring identiques ... Mais je ne peux pas trop m'attarder sur cela j'ai déjà beaucoup de projet en cours.
juki_webmaster
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3 -
Bubuze > Essaye la methode de Levenshtein
http://fr.wikipedia.org/wiki/Distance_de_Levenshtein


Sinon, sympa comme code, un bon petit snippet pour un debutant en JS comme moi :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.