パスワードは私たちの生活や仕事に欠かせないツールとなっていますが、安全でないパスワードは不必要な損失を引き起こす可能性があります。 Web サイトのデザイナーとして、Web ページ上でユーザーが入力したパスワードのセキュリティ評価を実施し、対応するプロンプト情報を表示できれば、ユーザーが安全なパスワードを設定するのに非常に役立ちます。同時に、ウェブサイトがよりユーザーフレンドリーで魅力的なものになります。
安全なパスワードとは何ですか? このプログラムでは次の方法で評価します。
1. パスワードが 5 文字未満の場合、脆弱なパスワードとみなされます。
2. パスワードが数字、小文字、大文字、その他の特殊記号のいずれか 1 つだけで構成されている場合、そのパスワードは弱いパスワードとみなされます。
3. パスワードが 2 種類の数字、小文字、大文字、またはその他の特殊記号で構成されている場合、そのパスワードは中程度に安全なパスワードとみなされます。
4. パスワードが 3 種類以上の数字、小文字、大文字、その他の特殊記号で構成されている場合、そのパスワードは比較的安全であると考えられます。
具体的なプログラムは次のとおりです (デモ アドレス: http://www.netInter.cn/reg):
<script language=javascript>
//プログラム設計: Global Wanwei、ドメイン名登録と仮想ホスティング サービスに特化
//ウェブサイト: http://www.netInter.cn
//このプログラムはGlobal Wanweiのオリジナルプログラムです。転載する場合は、URLと出典を明記してください。
//上記の情報は記事本文の不可欠な部分であるため、この記事を転載したい場合は、上記の情報を保持する必要があります。
//CharMode関数
// キャラクターがどのカテゴリに属するかをテストします。
関数 CharMode(iN){
if (iN>=48 && iN <=57) //数値
1を返します。
if (iN>=65 && iN <=90) //大文字
2を返します。
if (iN>=97 && iN <=122) //小文字
4 を返します。
それ以外
8 を返す // 特殊文字
}
//bitTotal関数
//現在のパスワードにモードがいくつあるかを計算します
関数 bitTotal(num){
モード=0;
for (i=0;i<4;i++){
if (num & 1) モード++;
数値>>>=1;
}
戻りモード。
}
//checkStrong 関数
//パスワード強度レベル
関数を返します checkStrong(sPW){
if (sPW.length<=4)
return 0; //パスワードが短すぎます
モード=0;
for (i=0;i<sPW.length;i++){
//各文字のカテゴリをテストし、パターンが何個あるかを数えます。
モード|=CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes)
}
//pwStrength 関数
//ユーザーがキーボードを放すか、パスワード入力ボックスがフォーカスを失うと、異なるレベルに応じて異なる色が表示されます
function pwStrength(pwd){
O_color="#eeeeee";
L_color="#FF0000";
M_color="#FF9900";
H_color="#33CC00";
if (pwd==null||pwd==''){
Lcolor=Mcolor=Hcolor=O_color;
}
それ以外{
S_level=checkStrong(pwd);
スイッチ(S_レベル) {
ケース0:
Lcolor=Mcolor=Hcolor=O_color;
ケース1:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
壊す;
ケース 2:
Lcolor=Mcolor=M_color;
Hcolor=O_color;
壊す;
デフォルト:
Lcolor=Mcolor=Hcolor=H_color;
}
document.getElementById
("strength_L").style.background="/Lcolor";
document.getElementById("strength_M").style.background=Mcolor;
document.getElementById("strength_H").style.background=Hcolor;
戻る;
}
</script>
<form name=form1 action="" >
パスワードを入力してください:<input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>
<br>パスワードの強度:
<table width="217" border="1" cellpacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'>
<tr align="center" bgcolor="#eeeeee">
<td width="33%" id="strength_L">弱</td>
<td width="33%" id="strength_M">中</td> td>
<td width="33%" id="strength_H">強い</td>
</tr>
</テーブル>
</フォーム>