公司僵尸帐号引发了一系列的入侵事件-细说密码强度验证的重要性
一、前言
每個公司幾乎都會有一個公司的內部系統,每個員工的入職的的時候都會給開一個帳號,一般開帳號的這個人不會考慮帳號的安全性,用戶名大多都是員工的姓名或者工號,密碼也是姓名或者工號或者123456,如果可以輸入123的話估計就設置123了,哈哈,那么問題就來了。如果這個員工不用這個系統不用這個系統或者不重置密碼,很容易讓別人登錄的,導致公司內部的系統信息外泄,損失慘重。
最近公司的內部系統發現了異常,一些帳號在一些奇怪的地方登錄,密碼幾乎大部分是弱密碼,什么123456,123abc,654321,123654,自己姓名拼音,工號等等。
出現這樣的問題一般是公司員工流動性大,負責人經常變動,開帳號和關閉帳號的人疏忽,員工自己沒有安全意識,歸根到底還是程序員沒有把程序寫好才造成的問題!!!
在網上經??吹矫艽a的強度的驗證的控件,感覺很好,下面這個控件可以借鑒基本效果如下:
?
二、基本實現
實現起來其實很簡單,就是對輸入的密碼進行了驗證,代碼一個js文件,一個樣式表,一個頁面
checkIntensity.js
function CheckIntensity(pwd) {var mcolor, wcolor, scolor, colorHtml;//var pstrength = $(".passwordStrength");var m = 0;var modes = 0;var i;for (i = 0; i < pwd.length; i++) {var charType;var t = pwd.charCodeAt(i);if (t >= 48 && t <= 57) { charType = 1; }else if (t >= 65 && t <= 90) { charType = 2; }else if (t >= 97 && t <= 122) { charType = 4; }else { charType = 8; }modes |= charType;}for (i = 0; i < 4; i++) {if (modes & 1) { m++; }modes >>>= 1;}if (pwd.length < 6) { m = 0; }//if (pwd.length <= 0) { m = 0; }switch (m) {case 1://pstrength.find("span:first").addClass("bgStrength");wcolor = "pwd pwd_Weak_c";mcolor = "pwd pwd_c";scolor = "pwd pwd_c pwd_c_r";colorHtml = "弱";break;case 2://pstrength.find("span:lt(2)").addClass("bgStrength");wcolor = "pwd pwd_Medium_c";mcolor = "pwd pwd_Medium_c";scolor = "pwd pwd_c pwd_c_r";colorHtml = "中";break;case 3:case 4://pstrength.find("span:lt(3)").addClass("bgStrength");wcolor = "pwd pwd_Strong_c";mcolor = "pwd pwd_Strong_c";scolor = "pwd pwd_Strong_c pwd_Strong_c_r";colorHtml = "強";break;default://pstrength.find("span").removeClass("bgStrength");wcolor = "pwd pwd_c";mcolor = "pwd pwd_c pwd_f";scolor = "pwd pwd_c pwd_c_r";colorHtml = "";break;}document.getElementById('pwd_Weak').className = wcolor;document.getElementById('pwd_Medium').className = mcolor;document.getElementById('pwd_Strong').className = scolor;document.getElementById('pwd_Medium').innerHTML = colorHtml;if (m < 2) {$("#tdTip").show();} else {$("#tdTip").hide();}return m; }樣式表文件pwdIntensity.css
.pwd {width: 40px;height: 16px;line-height: 14px;padding-top: 2px; }.pwd_f {color: #BBBBBB; }.pwd_c {background-color: #F3F3F3;border-top: 1px solid #D0D0D0;border-bottom: 1px solid #D0D0D0;border-left: 1px solid #D0D0D0; }.pwd_Weak_c {background-color: #FF4545;border-top: 1px solid #BB2B2B;border-bottom: 1px solid #BB2B2B;border-left: 1px solid #BB2B2B; }.pwd_Medium_c {background-color: #FFD35E;border-top: 1px solid #E9AE10;border-bottom: 1px solid #E9AE10;border-left: 1px solid #E9AE10; }.pwd_Strong_c {background-color: #3ABB1C;border-top: 1px solid #267A12;border-bottom: 1px solid #267A12;border-left: 1px solid #267A12; }.pwd_c_r {border-right: 1px solid #D0D0D0; }.pwd_Weak_c_r {border-right: 1px solid #BB2B2B; }.pwd_Medium_c_r {border-right: 1px solid #E9AE10; }.pwd_Strong_c_r {border-right: 1px solid #267A12; }.pwd_table {border-collapse: collapse; }.pwd_table td {padding: 0;border: 0;text-align: center;border: 3px solid white;}頁面代碼:
@{ViewBag.Title = "Index"; }<h2>http://www.cnblogs.com/yinrq/</h2> <style>.updatePwd {padding: 10px 0;color: #666;}.updatePwd > p {margin-left: 20px;}.updatePwd dl dt {display: block;float: left;width: 100px;text-align: right;color: #333;}.updatePwd dl dd {margin-left: 120px;width: 250px;}.updatePwd dl {clear: both;display: block;padding: 8px 0;}.updatePwd dl:after {clear: both;content: ".";display: block;height: 0;visibility: hidden;}.updatePwd .input {box-sizing: border-box;border: solid 1px #d2d9e2;height: 25px;width: 200px;/*padding-left: 65px;*/border-radius: 3px;outline: none;font-size: 14px;color: #465767;/*margin-bottom: 20px;*/}.updatePwd .input:focus {border-color: #3db6e4;} </style> <link href="/css/pwdIntensity.css" rel="stylesheet" /> <script type="text/javascript" src="/Script/checkIntensity.js"></script> <script type="text/javascript">function checkSubmit() {var grade = CheckIntensity($("#txtNewPassword").val());if (grade < 2) {alert("密碼太簡單!");} else {alert("密碼夠復雜的!提交成功!");}} </script><div id="updatePwd" class="updatePwd"><p>您是首次登陸或密碼已過期,請修改密碼!</p><dl><dt>用戶名:</dt><dd><input id="txtUser" name="txtUser" class="input" value="yinrq" /><span> </span></dd></dl><dl><dt>舊登錄密碼:</dt><dd><input id="txtOldPassword" name="txtOldPassword" class="input" type="password" /><span style="color: red">*</span></dd></dl><dl><dt>新登錄密碼:</dt><dd><input id="txtNewPassword" name="txtNewPassword" class="input" type="password" onkeyup="CheckIntensity(this.value)" /><span style="color: red">*</span><div style="margin-top: 10px;"><table class="pwd_table"><tr><td style="text-align: left;">密碼強度</td><td id="pwd_Weak" class="pwd pwd_c"> </td><td id="pwd_Medium" class="pwd pwd_c pwd_f"> </td><td id="pwd_Strong" class="pwd pwd_c pwd_c_r"> </td></tr><tr><td colspan="4" >強度為中或者強才可以提交!</td></tr></table></div></dd></dl><dl><dt>確認新密碼:</dt><dd><input id="txtConfirmNewPassword" name="txtConfirmNewPassword" class="input" type="password" /><span class="Validform_checktip" style="color: red">*</span></dd></dl><dl><dt></dt><dd><input id="Sava" name="Sava" type="button" value="確認修改" onclick="return checkSubmit();" /></dd></dl> </div>代碼在下面會提供下載,可以研究學習下,
https://yunpan.cn/cqRpBdWjsVraU (提取碼:4e2c)
三、總結
1、密碼要加強度驗證
2、密碼要根據配置文件的過期時間定期強制用戶修改
3、系統安全人人有責
最好在上一張強制修改密碼的圖
轉載于:https://www.cnblogs.com/yinrq/p/5359651.html
總結
以上是生活随笔為你收集整理的公司僵尸帐号引发了一系列的入侵事件-细说密码强度验证的重要性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WWDC 2013 Session笔记
- 下一篇: linux下A免密码登录B