博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
公司僵尸帐号引发了一系列的入侵事件-细说密码强度验证的重要性
阅读量:5952 次
发布时间:2019-06-19

本文共 4609 字,大约阅读时间需要 15 分钟。

一、前言

每个公司几乎都会有一个公司的内部系统,每个员工的入职的的时候都会给开一个帐号,一般开帐号的这个人不会考虑帐号的安全性,用户名大多都是员工的姓名或者工号,密码也是姓名或者工号或者123456,如果可以输入123的话估计就设置123了,哈哈,那么问题就来了。如果这个员工不用这个系统不用这个系统或者不重置密码,很容易让别人登录的,导致公司内部的系统信息外泄,损失惨重。

最近公司的内部系统发现了异常,一些帐号在一些奇怪的地方登录,密码几乎大部分是弱密码,什么123456,123abc,654321,123654,自己姓名拼音,工号等等。

出现这样的问题一般是公司员工流动性大,负责人经常变动,开帐号和关闭帐号的人疏忽,员工自己没有安全意识,归根到底还是程序员没有把程序写好才造成的问题!!!

在网上经常看到密码的强度的验证的控件,感觉很好,下面这个控件可以借鉴基本效果如下:

 

二、基本实现

实现起来其实很简单,就是对输入的密码进行了验证,代码一个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";}

http://www.cnblogs.com/yinrq/

您是首次登陆或密码已过期,请修改密码!

用户名:
 
旧登录密码:
*
新登录密码:
*
密码强度      
强度为中或者强才可以提交!
确认新密码:
*

代码在下面会提供下载,可以研究学习下,

https://yunpan.cn/cqRpBdWjsVraU (提取码:4e2c)

三、总结

1、密码要加强度验证

2、密码要根据配置文件的过期时间定期强制用户修改

3、系统安全人人有责

最好在上一张强制修改密码的图

转载于:https://www.cnblogs.com/yinrq/p/5359651.html

你可能感兴趣的文章
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>