비밀번호는 우리의 삶과 업무에 없어서는 안 될 도구가 되었지만, 안전하지 않은 비밀번호는 우리에게 불필요한 손실을 초래할 수 있습니다. 웹사이트 디자이너로서, 사용자가 웹페이지에 입력한 비밀번호에 대한 보안 평가를 실시하고 해당 프롬프트 정보를 표시할 수 있다면 사용자가 안전한 비밀번호를 설정하는 데 큰 도움이 될 것입니다. 동시에 웹사이트를 더욱 사용자 친화적이고 매력적으로 만들어줍니다.
안전한 비밀번호란 무엇입니까? 이 프로그램은 다음과 같은 방식으로 이를 평가합니다.
1. 비밀번호가 5자 미만일 경우 취약한 비밀번호로 간주됩니다.
2. 비밀번호가 숫자, 소문자, 대문자, 기타 특수기호 중 하나만으로 구성된 경우 취약한 비밀번호로 간주됩니다.
3. 비밀번호가 2종류의 숫자, 소문자, 대문자, 기타 특수기호로 구성된 경우에는 중간 정도의 보안이 유지되는 비밀번호로 간주됩니다.
4. 비밀번호가 3종 이상의 숫자, 소문자, 대문자, 기타 특수기호로 구성된 경우 비교적 안전한 비밀번호로 간주됩니다.
구체적인 프로그램은 다음과 같습니다(데모 주소: http://www.netInter.cn/reg):
<script 언어=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를 반환합니다.
또 다른
return 8; //특수문자
}
//bitTotal 함수
//현재 비밀번호에 모드가 몇 개 있는지 계산합니다.
함수 bitTotal(숫자){
모드=0;
(i=0;i<4;i++){
if (num & 1) 모드++;
숫자>>>=1;
}
복귀 모드;
}
//checkStrong 함수
//비밀번호 강도 수준
함수 checkStrong(sPW){
반환
if (sPW.길이<=4)
return 0; //비밀번호가 너무 짧습니다.
모드=0;
(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_level) {
사례 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="" >
비밀번호 입력:<입력 유형=비밀번호 크기=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>
</테이블>
</폼>