安全性战术是为了保护系统安全方面,安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力。安全性战术主要包括抵抗攻击的战术、检测攻击的战术和从攻击从恢复的战术。对于这方面的技术,当前的我们知道的知识不多,因此可以参考了一下网上的资料。
一、抵抗攻击:
最简单的就是用户的信息保护,如注册登陆,用户注册的密码可以采用MD5加密,这是一种安全性非常高的加密算法,由于这种加密的不可逆性,在使用10位以上字母加数字组成的随机密码时,几乎没有破解的可能性。下面是实例:
1 //用户登录信息查询 2 @RequestMapping(value = "/htm/loginManageUser.htm") 3 @ResponseBody 4 public JsonModel loginManageUser(HttpServletRequest request, HttpSession session){ 5 JsonModel jsonModel = new JsonModel(); 6 String userName = request.getParameter("userName"); 7 String password = request.getParameter("userPwd"); 8 9 ManageUserModel manageUserModel = new ManageUserModel(); 10 manageUserModel.setUserName(userName); 11 manageUserModel.setUserPwd(password); 12 ManageUserModel model = manageUserBusiness.getUserByUserNameAndPwd(manageUserModel); 13 String searchClientId = request.getParameter("searchClientId"); 14 15 if(model !=null){ 16 session.setAttribute("manageuser",model); 17 session.setAttribute("searchClientId",searchClientId); 18 jsonModel.setStatus(true); 19 jsonModel.setMessage("成功"); 20 jsonModel.setResult(model); 21 }else{ 22 ArrayList <Object> list = new ArrayList <>(); 23 jsonModel.setStatus(false); 24 jsonModel.setMessage("您的权限不够,不能进行访问!"); 25 return jsonModel; 26 } 27 return jsonModel; 28 }
运行截图:
数据库的用户的用户名和密码 密码是已经加密好的字段
二、检测攻击
检测攻击战术如系统在检测到用户输入的密码次数超过系统规定的次数时,会自动冻结用户的账号。这样只有联系管理员或者到等到次日才能将账户解开。有效保护了用户的账号隐私。此时检测密码输错的次数就是检测攻击战术的一种:
1 public void test20() { 2 System.out.println("请输入密码:"); 3 Scanner sc = new Scanner(System.in); 4 String zq="yt123"; 5 String sr; 6 int j=0; 7 for(int i=j;i<3;i++){ 8 sr=sc.next(); 9 if(zq.equals(sr)){ 10 System.out.println("欢迎进入系统!"); 11 break; 12 }else{ 13 System.out.println("密码错误!"); 14 j++; 15 System.out.println("还有"+(3-j)+"次输入机会"); 16 } 17 } 18 19 if(j>=3){ 20 System.out.println("账号被冻结"); 21 } 22 23 }
三、从攻击从恢复:
1、电脑或其他电子设备的备份、冗余等技术;
2、采用电子盘技术,程序无法被篡改,重启后即可恢复;