基于SSH框架的指静脉考勤管理系统

2019-06-05 02:43陈如明洪轶群
网络安全技术与应用 2019年5期
关键词:考勤攻击者后台

◆陈如明 洪轶群

基于SSH框架的指静脉考勤管理系统

◆陈如明 洪轶群

(厦门烟草工业有限责任公司 福建 361000)

考勤管理系统是当今人事管理信息化的一种必然趋势,它不仅可以为企业的人事管理节省大量人力资源并且还能大幅度提高管理效率。为完成企业委托的指静脉考勤管理系统,本文根据企业方的实际需求进行相应的需求分析与设计,采用MVC设计模式,通过基于JAVA的Struts2、Spring和Hibernate三大框架以及现今流行的MySQL数据库完成该考勤管理系统web项目。企业可通过该管理系统更好进行外派工作的考勤定位、工作管理、任务下发等工作,实现企业信息化、现代化管理的目的。

考勤管理系统 MVC SSH框架

0 引言

以往的考勤管理解决法案基本上有两种,一种是感应卡打卡考勤,另一种则是指纹打卡考勤。第一种几乎是处于淘汰状况,因为这种方法在企业规章制度不完善的公司容易出现各种代打卡的情况出现,同时也会出现企业员工在上下班的时候造成人员拥堵的情况,因此这种方法几近被淘汰;第二种方式则是现在的主流模式,虽然指纹打卡可以有效地确保员工打卡的真实性,但是该方法也无法解决在员工上下班的时候造成拥堵的问题,而且主要问题在于考勤速度相对于感应卡式考勤机较慢,针对手指纹破损、指纹打卡方法不正确部分,不予识别,统计烦琐机械故障率较高。

为解决这些存在的问题,基于移动端的指静脉考勤应运而生,通过移动终端设备配合指静脉感应模块能够有效避免考勤速度慢和人员拥挤的情况。为了配合指静脉考勤,需要建立起一套合理有效的后台管理系统。本系统通过Struts2、Spring和Hibernate三大框架的整合,后台数据库采用MySQL,将企业员工的考勤定位、工作管理、任务发配等信息通过接口的形式接收和返回,企业可通过该管理系统配合指静脉考勤机更好进行外派工作的考勤定位、工作管理、任务下发,有利于实现企业信息化、现代化管理,并能高效合理的管理外派人员的工作。

1 系统设计

1.1 功能需求

(1)出行轨迹记录:后台接收终端设备采集定位数据并完整保存今日该负责人的行车出行轨迹,记录该负责人当前所在位置的实时地理信息。在前端调用时返回相应的地理位置数据。

(2)项目考勤管理:当用户到达项目指定执行地点之后,执行今日打卡,上传当前团队成员的打卡信息以及打卡地理坐标至后台服务器。

(3)项目任务分配管理:通过文件导入操作,将供电局提供的任务,导入我们的系统平台,通过相应的文件操作处理,归类划分任务工种信息,根据相应的工种信息,获取特定的任务内容,生成相应的任务模板格式。项目管理员,根据任务工种,筛选任务清单,获取相应的可分发的负责人清单,以及负责人所对应的分包公司的执行名单。选择某一或N个负责人,将该任务推送到负责人所绑定终端设备,负责人通过终端设备,查看对应任务内容,进行项目考勤管理操作。

(4)项目负责人管理:新增、修改、删除、查询负责人的基本信息、工作状态、历史工作记录信息。为负责人分配所需对接的分包公司。

(5)分包公司管理:新增、修改、删除、查询分包公司成员的基本信息;随负责人出工的历史工作记录信息,当前工作状态。

(6)后台管理人员:后台管理系统的登入和信息修改设置。

1.2 安全需求

保证考勤管理系统的稳定性、公平性和安全性,要求能在面对简单的攻击下保持系统正常运作,能对异常的请求和简单的注入攻击做出预防处理。保证考勤管理系统的在一定的攻击情况下保持稳定性,防止请求被抓包盗用而产生的各种危害并保护用户的资料不被攻击者窃取。

设计和配置Struts2拦截器方法,基于面向切面编程的思想对每个用户请求的有效性和真实性进行验证,对错误和非法的用户请求进行拦截。对每个请求的有效时间进行验证,防止DDOS攻击对服务器带来危害。

通过配置过滤器,验证当前用户的会话状态,过滤提交表单中的危险字符参数,预防简单的SQL注入和XSS跨站脚本注入,防止攻击者通过进行SQL注入和XSS跨站脚本注入攻击服务器从而造成用户信息丢失或者导致服务器瘫痪。

跨站脚本攻击(XSS)是Web应用程序中经常发生的网页安全漏洞,它允许恶意网页用户将代码嵌入到可供其他用户使用的页面中,这些代码包括HTML代码、客户端脚本以及JS脚本。攻击者可以轻易地通过脚本的注入获取到其他网页用户的信息。

SQL注入漏洞是指攻击者把具有攻击数据库或查看数据库数据的SQL指令插入页面表单,通过发送请求传送到后台,后台程序在一定条件下运行SQL命令时,由于攻击者的SQL注入而错误的执行了SQL指令将数据库数据返回给攻击者。从而达到盗取数据库数据或攻击数据库的目的。

2 数据库设计

本项目数据库以存储和管理后台管理员、工作人员、项目负责人、项目信息以及分包公司的信息为主,对数据表进行设计,以及负责对数据库管理、日常维护和后续优化工作。

要求根据项目的需求创建科学合理的数据库,保证数据库和系统的稳定性、安全性。设计合理的设计数据库结构,防止出现冗余数据。制定统一的数据表和字段的命名标准,明确各个字段的数据类型和长度,基于最小优化原则,在保证能正确的存储所需的数据情况下,字段尽量采用最简单的数据类型和最小数据长度。通过添加必要的约束条件以维护数据库的稳定性和数据的完整性。数据库表结构图如图1所示。

3 模块功能具体实现

系统中各个模块功能的实现大体过程主要是通过浏览器或移动终端调用action请求,将表单数据post/get的方式上传的服务器,服务器根据Struts2配置文件响应action请求,根据action请求通过调用业务逻辑层的实现方法返回给前端浏览器或者移动终端数据。

项目中Struts2采用注解方式配置。每个Action继承于BaseAction类,BaseAction中封装有响应JSON格式数据的方法,用于各个Action返回给浏览器前端或者移动终端数据,BaseAction的具体代码如图2所示。每个Action都实现了Struts2里的ModelDriver接口,通过ModelDriver接口实现了前端或移动终端上传的表单数据自动封装成Bean对象的功能。以负责人模块的Action为例,项目中的Action类基本格式如图3所示。

图1 数据库表结构图

图2 BaseAction具体代码

图3 Action基本格式

通过设计自定义拦截器方法和配置Struts2拦截器保证验证请求的有效性。具体实现方法为使每个请求发起时都带有生成时间戳和签名,签名的生成由时间戳和某些参数的加密字符串组成,后台通过自定义的拦截器方法对应解密,判断请求是否超时或者无效。本项目中签名由时间戳和其他参数通过MD5加密后进行增加字符串混乱排序,增加签名被破解的难度。签名生成过程如图4所示:

图4 签名生成过程

4 结束语

本文介绍了通过整合Struts2、Spring和Hibernate三大框架,搭建指静脉考勤系统实现后台逻辑处理和数据的保存和调用。企业可通过该管理系统配合指静脉考勤机更好进行外派工作的考勤定位、工作管理、任务下发,有利于实现企业信息化、现代化管理,进而高效合理管理外派人员的工作。

随着未来指静脉考勤的兴起和流行,伴随其而来的后台管理也将需要一个科学的、可行的方案。本论文通过对Strutt2、Spring和Hibernate的探究以及对考勤管理系统需求的具体考察,对系统、功能的设计实现过程以及安全策略的实现过程进行了详细的介绍,提出了一种科学合理的解决方案。为将来的考勤管理系统设计提供一种解决思路。

[1]李刚.Struts2权威指南[M].电子工业出版社,2007:12-22.

[2]Rod Johnson,Juergen Hoeller.Expert One-on-One J2EE Development without EJB[M].US:Wrox Press,2004:54-57.

[3]王玉芹.基于Hibernate的论文中心管理系统设计[D]. 吉林:吉林大学,2008.

[4]王鹏.产科超声规范化信息系统的研究和实现[D].沈阳:东北大学,2009.

[5]百度百科_MySQL[ol],https://baike.baidu.com/item/m-ySQL/471251?fr=Aladdin.

猜你喜欢
考勤攻击者后台
基于贝叶斯博弈的防御资源调配模型研究
事业单位人员考勤管理存在的问题及对策
三级甲等医院应用PDCA循环提升考勤管理的创新
智能人脸识别考勤系统
Wu Fenghua:Yueju Opera Artist
正面迎接批判
正面迎接批判
后台暗恋
浅谈用人单位的考勤管理在劳动管理中的重要位置
互联网思维下的汽车服务连锁后台支撑系统