Personnalisations : CNB Your_Account : Graphe de resistance mot de passe
Sommaire
Le graphe de mesure de résistance de mot de passe est un petit scipt très facile à mettre en place. Il permet d'avoir un visuel sur la résistance au "hack" qu'offre votre mot de passe. S'il est courant de voir ce genre de chose sur divers sites, ça l'est moins d'avoir la source. Ce tutorial va donc vous expliquer comment mettre en place le graphe sur votre module CNB Your_Account.
Il est à noter que ce script est issu de Nuke-Evolution .
Modification du fichier functions.php
1.- Editez le fichier modules/Your_Account/includes/functions.php et trouvez le code :
OpenTable();
echo "<table border=\"0\"><form action=\"modules.php?name=$module_name\" method=\"post\">\n";
echo "<tr><td>"._NICKNAME.":</td><td><input type=\"text\" name=\"username\" size=\"15\" maxlength=\"25\"></td></tr>\n";
echo "<tr><td>"._PASSWORD.":</td><td><input type=\"password\" name=\"user_password\" size=\"15\" maxlength=\"20\" AutoComplete=\"off\"></td></tr>\n";
|
|
que vous remplacez par celui qui suit :
OpenTable();
echo "<table border=\"0\"><form action=\"modules.php?name=$module_name\" method=\"post\" name=\"newuser\">\n";
echo "<tr><td>"._NICKNAME.":</td><td><input type=\"text\" name=\"username\" size=\"20\" maxlength=\"25\"></td></tr>\n";
echo "<tr><td>"._PASSWORD.":</td><td><input type=\"password\" name=\"user_password\" size=\"20\" maxlength=\"20\" AutoComplete=\"off\"' onkeyup='chkpwd(newuser.user_password.value)' onblur='chkpwd(newuser.user_password.value)' onmouseout='chkpwd(newuser.user_password.value)'></td></tr>\n";
echo "<table width='300' cellpadding='2' cellspacing='0' border='1' bgcolor='#EBEBEB' style='border-collapse: collapse;'><tr>
<td id='td1' width='100' align='center'><div ID='div1'></div></td>
<td id='td2' width='100' align='center'><div ID='div2'></div></td>
<td id='td3' width='100' align='center'><div ID='div3'>"._PSM_NOTRATED."</div></td>
<td id='td4' width='100' align='center'><div ID='div4'></div></td>
<td id='td5' width='100' align='center'><div ID='div5'></div></td>
</tr></table><div ID='divTEMP'></div>";
|
|
2.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
Passez à l'étape suivante.
Modification du fichier lang-french.php
3.- Editez le fichier modules/Your_Account/language/lang-french.php et ajoutez juste avant la balise de fermeture PHP ? > le code suivant :
define("_PSM_NOTRATED","Pas de pourcentage");
define("_PSM_CLICK","Cliquer");
define("_PSM_HERE","ici");
define("_PSM_HELP","pour de l'aide dans la création d'un mot de passe puissant");
|
|
4.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
Passez à l'étape suivante.
Modification du fichier new_user1.php
5.- Editez le fichier modules/Your_Account/public/new-user1.php et trouvez la ligne de code suivante :
| echo "<form action='modules.php?name=$module_name' method='post'>\n"; |
|
que vous remplacez par celle qui suit :
| echo "<form action='modules.php?name=$module_name' method='post' name='newuser'>\n"; |
|
6.- Trouvez à présent les lignes de codes suivantes :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
et remplacez les par celle-ci :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='20' maxlength='".$ya_config['pass_max']."' onkeyup='chkpwd(newuser.user_password.value)' onblur='chkpwd(newuser.user_password.value)' onmouseout='chkpwd(newuser.user_password.value)'>";
echo "<table width='300' cellpadding='2' cellspacing='0' border='1' bgcolor='#EBEBEB' style='border-collapse: collapse;'><tr>
<td id='td1' width='100' align='center'><div ID='div1'></div></td>
<td id='td2' width='100' align='center'><div ID='div2'></div></td>
<td id='td3' width='100' align='center'><div ID='div3'>"._PSM_NOTRATED."</div></td>
<td id='td4' width='100' align='center'><div ID='div4'></div></td>
<td id='td5' width='100' align='center'><div ID='div5'></div></td>
</tr></table><div ID='divTEMP'></div>";
echo _PSM_CLICK." <a href=\"javascript:strengthhelp()\">"._PSM_HERE."</a> "._PSM_HELP."<br />";
echo "<br /><span class='tiny'>("._BLANKFORAUTO.")</span><br /><span class='tiny'>("._YA_PASSLENGTH.")</span></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='20' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
7.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
Passez à l'étape suivante.
Modification du fichier new_user2.php
8.- Editez le fichier modules/Your_Account/public/new-user2.php et trouvez la ligne de code suivante :
| echo "<form action='modules.php?name=$module_name' method='post'>\n"; |
|
que vous remplacez par celle qui suit :
| echo "<form action='modules.php?name=$module_name' method='post' name='newuser'>\n"; |
|
9.- Trouvez à présent les lignes de codes suivantes :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
et remplacez les par celle-ci :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='20' maxlength='".$ya_config['pass_max']."' onkeyup='chkpwd(newuser.user_password.value)' onblur='chkpwd(newuser.user_password.value)' onmouseout='chkpwd(newuser.user_password.value)'>";
echo "<table width='300' cellpadding='2' cellspacing='0' border='1' bgcolor='#EBEBEB' style='border-collapse: collapse;'><tr>
<td id='td1' width='100' align='center'><div ID='div1'></div></td>
<td id='td2' width='100' align='center'><div ID='div2'></div></td>
<td id='td3' width='100' align='center'><div ID='div3'>"._PSM_NOTRATED."</div></td>
<td id='td4' width='100' align='center'><div ID='div4'></div></td>
<td id='td5' width='100' align='center'><div ID='div5'></div></td>
</tr></table><div ID='divTEMP'></div>";
echo _PSM_CLICK." <a href=\"javascript:strengthhelp()\">"._PSM_HERE."</a> "._PSM_HELP."<br />";
echo "<br /><span class='tiny'>("._BLANKFORAUTO.")</span><br /><span class='tiny'>("._YA_PASSLENGTH.")</span></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='20' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
10.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
Passez à l'étape suivante.
Modification du fichier new_user3.php
11.- Editez le fichier modules/Your_Account/public/new-user3.php et trouvez la ligne de code suivante :
| echo "<form action='modules.php?name=$module_name' method='post'>\n"; |
|
que vous remplacez par celle qui suit :
| echo "<form action='modules.php?name=$module_name' method='post' name='newuser'>\n"; |
|
12.- Trouvez à présent les lignes de codes suivantes :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='10' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
et remplacez les par celle-ci :
echo "<tr><td bgcolor='$bgcolor2'>"._PASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password' size='20' maxlength='".$ya_config['pass_max']."' onkeyup='chkpwd(newuser.user_password.value)' onblur='chkpwd(newuser.user_password.value)' onmouseout='chkpwd(newuser.user_password.value)'>";
echo "<table width='300' cellpadding='2' cellspacing='0' border='1' bgcolor='#EBEBEB' style='border-collapse: collapse;'><tr>
<td height='18' id='td1' width='100' align='center'><div ID='div1'></div></td>
<td height='18' id='td2' width='100' align='center'><div ID='div2'></div></td>
<td height='18' id='td3' width='100' align='center'><div ID='div3'>"._PSM_NOTRATED."</div></td>
<td height='18' id='td4' width='100' align='center'><div ID='div4'></div></td>
<td height='18' id='td5' width='100' align='center'><div ID='div5'></div></td>
</tr></table><div ID='divTEMP'></div>";
echo _PSM_CLICK." <a href=\"javascript:strengthhelp()\">"._PSM_HERE."</a> "._PSM_HELP."<br />";
echo "<span class='tiny'>("._BLANKFORAUTO.")</span><br /><span class='tiny'>("._YA_PASSLENGTH.")</span></td></tr>\n";
echo "<tr><td bgcolor='$bgcolor2'>"._RETYPEPASSWORD.":</td><td bgcolor='$bgcolor1'><input type='password' name='user_password2' size='20' maxlength='".$ya_config['pass_max']."'><br><font class='tiny'>("._BLANKFORAUTO.")</font><br><font class='tiny'>("._YA_PASSLENGTH.")</font></td></tr>\n"; |
|
13.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
Passez à l'étape suivante.
Modification du fichier javascript.php
14.- Editez le fichier incluse/javascripts.php et ajoutez juste avant le fermeture de la balise PHP ? > le code suivant :
global $admin_file;
if($name == "Your Account" || $name == "Your_Account" || $name == "Profile" || defined('ADMIN_FILE')) {
echo "<script type="text/javascript">n";
echo "function strengthhelp() {n";
echo " window.open ('includes/passhelp.php','PasswordStrenghtMeter','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=no,copyhistory=no,width=400,height=200');n";
echo "}n";
echo "</script>n";
echo '<script type="text/javascript">
function chkpwd(w) {
var StrengthValue
StrengthValue = 0;
pwd_upper_case = /[A-Z]/; // a uppercase letter present
pwd_lower_case = /[a-z]/; // a lowercase letter present
pwd_digit = /d/; // a digit present
pwd_other = /W/; // a non letter or digit present
pwd_length = /^[a-zdW]{10,}$/i;
if (pwd_upper_case.test(w) == true) {StrengthValue = StrengthValue + 1;};
if (pwd_lower_case.test(w) == true) {StrengthValue = StrengthValue + 1;};
if (pwd_digit.test(w) == true) {StrengthValue = StrengthValue + 1;};
if (pwd_other.test(w) == true) {StrengthValue = StrengthValue + 1;};
if (pwd_length.test(w) == true) {StrengthValue = StrengthValue + 1;};
document.getElementById("divTEMP").innerHTML = "Force actuelle: " + StrengthValue + "/5";
if (StrengthValue == 0) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "<em>Vide</em>";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#EBEBEB";
document.getElementById("td2").style.backgroundColor = "#EBEBEB";
document.getElementById("td3").style.backgroundColor = "#EBEBEB";
document.getElementById("td4").style.backgroundColor = "#EBEBEB";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
if (StrengthValue == 1) {
document.getElementById("div1").innerHTML = "<em>Très faible</em>";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#FF4545";
document.getElementById("td2").style.backgroundColor = "#EBEBEB";
document.getElementById("td3").style.backgroundColor = "#EBEBEB";
document.getElementById("td4").style.backgroundColor = "#EBEBEB";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
if (StrengthValue == 2) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "<em>Faible</em>";
document.getElementById("div3").innerHTML = "";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#FFFF33";
document.getElementById("td2").style.backgroundColor = "#FFFF33";
document.getElementById("td3").style.backgroundColor = "#EBEBEB";
document.getElementById("td4").style.backgroundColor = "#EBEBEB";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
if (StrengthValue == 3) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "<em>Moyen</em>";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#FFD35E";
document.getElementById("td2").style.backgroundColor = "#FFD35E";
document.getElementById("td3").style.backgroundColor = "#FFD35E";
document.getElementById("td4").style.backgroundColor = "#EBEBEB";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
if (StrengthValue == 4) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "";
document.getElementById("div4").innerHTML = "<em>Bon</em>";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#66FF66";
document.getElementById("td2").style.backgroundColor = "#66FF66";
document.getElementById("td3").style.backgroundColor = "#66FF66";
document.getElementById("td4").style.backgroundColor = "#66FF66";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
if (StrengthValue == 5) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "<em>Très bon</em>";
document.getElementById("div5").innerHTML.textColor = "#3ABB1C";
document.getElementById("td1").style.backgroundColor = "#3ABB1C";
document.getElementById("td2").style.backgroundColor = "#3ABB1C";
document.getElementById("td3").style.backgroundColor = "#3ABB1C";
document.getElementById("td4").style.backgroundColor = "#3ABB1C";
document.getElementById("td5").style.backgroundColor = "#3ABB1C";
};
if (w.length < 4) {
document.getElementById("div1").innerHTML = "";
document.getElementById("div2").innerHTML = "";
document.getElementById("div3").innerHTML = "<em>Vide</em>";
document.getElementById("div4").innerHTML = "";
document.getElementById("div5").innerHTML = "";
document.getElementById("td1").style.backgroundColor = "#EBEBEB";
document.getElementById("td2").style.backgroundColor = "#EBEBEB";
document.getElementById("td3").style.backgroundColor = "#EBEBEB";
document.getElementById("td4").style.backgroundColor = "#EBEBEB";
document.getElementById("td5").style.backgroundColor = "#EBEBEB";
};
}
</script>';
echo "n";
} |
|
15.- Sauvegardez, fermez et envoyez le fichier sur votre serveur.
L'installation est à présent terminé, vous pouvez voir en fonctionnement le graphe aussi lors d'un nouvel enregistrement que lors d'une connexion à votre site.
Publié le : 2007-07-26 par stefvar, dernière modification le : 2007-08-25 par stefvar(124 lectures) |