ระบบตรวจสอบความปลอดภัยของรหัสผ่าน จัดทำโดย : first พิมพ์
 Untitled Document

เทคนิคการทำที่ตรวจสอบว่ารหัสผ่านของเราปลอดภัยเพียงไร มาเริ่มกันเลยครับ
สร้างไฟล์นี้ มาทดลองกันเลยนะครับ ไฟล์ test.php พิมพ์โค้ดดังนี้
<script>
function testPassword(passwd)
{
var intPassWd = 0
var strVerdict = "weak"
var strLog = ""
// PASSWORD LENGTH
if (passwd.length<1) // ความยาวของรหัสผ่าน
{
intPassWd = (intPassWd+0)
strLog = strLog + "1 คะแนนสำหรับความยาวนี้ (" + passwd.length + ")\n"
}else if (passwd.length>1 && passwd.length<5) // ความยาวของรหัสผ่านระหว่าง 2 - 5
{
intPassWd = (intPassWd+1)
strLog = strLog + "3 คะแนนสำหรับความยาวนี้ (" + passwd.length + ")\n"
}
else if (passwd.length>4 && passwd.length<8) // ความยาวของรหัสผ่านระหว่าง 5 - 7
{
intPassWd = (intPassWd+2)
strLog = strLog + "3 คะแนนสำหรับความยาวนี้ (" + passwd.length + ")\n"
}
else if (passwd.length>7 && passwd.length<16)// ความยาวของรหัสผ่านระหว่าง 8 - 15
{
intPassWd = (intPassWd+5)
strLog = strLog + "6 คะแนนสำหรับความยาวนี้ (" + passwd.length + ")\n"
}
else if (passwd.length>15) // ความยาวของรหัสผ่านมากว่า 16
{
intPassWd = (intPassWd+8)
strLog = strLog + "9 คะแนนสำหรับความยาวนี้ (" + passwd.length + ")\n"
}
// ให้คะแนนความปลอดภัยเพิ่มเติม
if (passwd.match(/[a-z]/)) //ถ้ามี a-z
{
intPassWd = (intPassWd+1)
strLog = strLog + "1 คะแนนสำหรับเงื่่อนไขนี้\n"
}
if (passwd.match(/[A-Z]/)) //ถ้ามี A-Z
{
intPassWd = (intPassWd+1)
strLog = strLog + "1 คะแนนสำหรับเงื่่อนไขนี้\n"
}
// NUMBERS
if (passwd.match(/\d+/)) // ถ้ามีตัวเลข
{
intPassWd = (intPassWd+1)
strLog = strLog + "5 คะแนนสำหรับเงื่่อนไขนี้\n"
}
if (passwd.match(/(.*[0-9].*[0-9].*[0-9])/)) // ถ้ามีตัวเลข ต่อท้าย 3 ตัว
{
intPassWd = (intPassWd+3)
strLog = strLog + "3 คะแนนสำหรับเงื่่อนไขนี้\n"
}
// SPECIAL CHAR
if (passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)) // ถ้ามีตัวอักษรพิเศษ 1 ตัว
{
intPassWd = (intPassWd+4)
strLog = strLog + "5 คะแนนสำหรับเงื่่อนไขนี้\n"
}
// [verified] at least two special characters
if (passwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/))
{
intPassWd = (intPassWd+4)
strLog = strLog + "5 คะแนนสำหรับเงื่่อนไขนี้\n"
}


// COMBOS
if (passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) // ถ้ามีตัวอักษรตัวเล็กตัวใหญ่สลับกัน
{
intPassWd = (intPassWd+5)
strLog = strLog + "3 คะแนนสำหรับเงื่่อนไขนี้\n"
}

if (passwd.match(/([a-zA-Z])/) && passwd.match(/([0-9])/)) // ถ้ามีตัวอักษรเ และเลข
{
intPassWd = (intPassWd+6)
strLog = strLog + "4 คะแนนสำหรับเงื่่อนไขนี้\n"
}

// ถ้ามีตัวอักษรเ และเลข และตัวอักษรพิเศษ
if (passwd.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/))
{
intPassWd = (intPassWd+7)
strLog = strLog + "7 คะแนนสำหรับเงื่่อนไขนี้\n"
}


if(intPassWd <= 4)
{
strVerdict = "ปลอดภัยน้อยมาก"
strBg="#FF0000"
}
else if (intPassWd >=5 && intPassWd <= 9)
{
strVerdict = "ปลอดภัยน้อย"
strBg="#FF6600"
}
else if (intPassWd >= 10 && intPassWd <= 14)
{
strVerdict = "ปลอดภัย"
strBg="#FFFF00"
}
else if (intPassWd >= 10 && intPassWd <= 19)
{
strVerdict = "ปลอดภัยมาก"
strBg="#00CC00"
}
else
{
strVerdict = "ปลอดภัยมากที่สุด"
strBg="#009900"
}
var topwidth=20;
var curscor=parseInt((intPassWd*220)/topwidth);
document.getElementById("strengprogress").style.backgroundColor=strBg
document.getElementById("strengprogress").style.width=(curscor)+"px"
document.getElementById("strengprogress").style.height="1px"
document.getElementById("verdict").innerHTML=(strVerdict)
document.getElementById("test").innerHTML=intPassWd
}
</script>
<HTML>
<HEAD>
<TITLE>ทดสอบความปลอดภัย</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<BODY>
<DIV id="formformat"><FORM name="frmregister" method="post">
<DIV id=systemdata>*พิมพ์รหัสผ่าน:<INPUT class="inputtext_register" onKeyPress="javascript:valid(this)" id="password1" onKeyUp="testPassword(document.frmregister.password1.value)" type="password" maxLength="150" size="25" name="password1"><br>
<SPAN id="valid_password1"></SPAN>ความปลอดภัยของรหัสผ่าน:
<DIV id="borderprogress" style="BORDER-RIGHT: #cccccc 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 5px; PADDING-BOTTOM: 0px; MARGIN: 1px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 242px; PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid">
<DIV id="strengprogress" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 5px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"></DIV></DIV>
<SPAN id="verdict">รหัสผ่านที่ปลอดภัยมากส่วนใหญ่จะมีความยาว 7-16 ตัวอักษร</SPAN></DIV>
<SPAN id="test"></SPAN>คะแนความปลอดภัย
</FORM></DIV>
</BODY></HTML>

ผลของมันคือ

ทดลองพิมพ์รหัสของคุณดูนะครับ ว่าปลอดภัยแค่ไหนกัน

 

คุณอาจสนใจ
Smart Tip แต่งภาพ: ลดความสว่างส่วนเกิน
เว็บไทยดีดี (92,920 - 26 เม.ย. 51)
เชื่อมต่อ Flash MX กับเท็กซ์ไฟล์ และ XML (ตอนที่ 1)
Ching Ching (27,658 - 29 ก.ย. 50)
5 วิธีถนอมธัมบ์ไดร์ฟสุดรัก
เว็บไทยดีดี (20,172 - 28 ก.ค. 50)
การ copy เฉพาะรูปแบบเซลล์ไปตกแต่งที่อื่น
หมูขุน (40,159 - 18 มิ.ย. 51)
การ Import File
Mr.Mean (48,693 - 04 มิ.ย. 49)
มือถือตกน้ำควรทำอย่างไร?
เว็บไทยดีดี (14,719 - 22 ก.ย. 50)
ไร้สายมั่นใจด้วย WPA2
เว็บไทยดีดี (16,010 - 25 ส.ค. 50)
ลูกไฟพระอาทิตย์ (The sun)
อ.เล็ก (70,669 - 04 มิ.ย. 49)