第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 45 0 引言 高校毕业生就业质量, 即大学生就业质量, 是一个内涵非常丰富的概念 除硬性指标就业率外, 大学生就业质量还包括大学生的工作收入 专业是否对口 工作满意度等弹性指标, 主要体现于主观感受层面 国

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 45 0 引言 高校毕业生就业质量, 即大学生就业质量, 是一个内涵非常丰富的概念 除硬性指标就业率外, 大学生就业质量还包括大学生的工作收入 专业是否对口 工作满意度等弹性指标, 主要体现于主观感受层面 国"

Transcription

1 第 34 卷第 3 期 2018 年 6 月 昆明冶金高等专科学校学报 JournalofKunmingMetalurgyColege Vol 34No 3 Jun.2018 doi: /j.isn 大学毕业生就业质量测评管理系统设计与实现 王宁邦 1a, 贾连印 2a, 王传坚 2b, 许振涛 1b, 徐世锦 1c 1c, 项庭玉 (1 云南师范大学 a. 信息管理处 ;b. 物理与电子信息学院 ;c. 信息学院, 云南昆明 ; 2 昆明理工大学 a. 信息工程与自动化学院 ;b. 理学院, 云南昆明 ) 摘要 : 高校毕业生就业质量测评对高校就业工作具有重要的参考和指导作用, 基于此提出了可用的 安全与性能兼备的大学毕业生就业质量测评管理系统的设计方案和实现方法, 采用 PHP+MySQL 为服务器的 B/S 架构解决方案, 前端采用 HTML5 JavaScript CSS3 进行开发 系统采用了 Ajax jquery 等 Web 网站应用技术, 通过 XSS 验证过滤和引入会话控制提高了网站的安全性 并用软件工程的方法详细介绍其设计与实现 通过该系统的使用, 高校毕业生就业质量测评管理的信息化和自动化程度提升, 极大地方便了测评单位对测评工作的正常开展 关键词 : 就业质量 ; 测评 ;Web 安全 ;PHP; 大学生就业信息 ; 安全性编程中图分类号 :TP311 5 文献标志码 :A 文章编号 : (2018) DesignandImplementationofEvaluationManagementSystem forcolegegraduates EmploymentQuality WANGNingbang 1a,JIALianyin 2a,WANGChuanjian 2b, XUZhentao 1b,XUShijin 1c,XIANGTingyu 1c (1a.DepartmentofInformationManagement;b.SchoolofPhysicsandElectronicInformationTechnology; c.schoolofinformationscienceandtechnology,yunnannormaluniversity,kunming650500,china; 2a.FacultyofInformationEngineeringandAutomation;b.ColegeofScience,KunmingUniversity ofscienceandtechnology,kunming650500,china) Abstract:Thecolegegraduates employmentqualityevaluationhasanimportantreferenceandguidance efectontheemploymentworkincolegesanduniversities.thispaperpresentedthedesignandimplemen tationofanvalid,secureandwel performingsystemformanaginggruaduates emoploymentqualityevalu tion.itusedphp +MySQLastheBrowser/Serversolutionfortheserveranddevelopedthefrontendwith HTML5,JavaScriptandCSS3.ThesystemappliedAjax,jQueryandotherWebapplicationtechnologies. WithXSSverificationfilteringandsesioncontrol,weimprovedthesecurityofthewebsiteandintroduced thedesignandimplementationindetailinsoftwareengineeringmethods.byusingthissystem,thedegree ofinformatizationandautomationofcolegegraduates employmentqualityevaluationwilbepromoted, whichcangreatlyfacilitatetheevaluationbeingcariedoutnormalybyevaluationinstitutions. Keywords:employmentquality;evaluation;Websecurity;PHP;employmentinformationforcolege students;securityprogramming 收稿日期 : 基金项目 : 云南省教育科学研究课题 : 云南省大学毕业生就业质量评价指标体系研究 (BC15009); 云南省教育厅科学研究课题 : 勐腊县边境地区茶产业优化发展与山地民族农户 精准扶贫 互动研究 (2016ZZX083) 作者简介 : 王宁邦 (1985-), 男, 云南宣威人, 助理研究员, 理学硕士, 主要从事信息安全与网络计算 计算机网络应用方面研究

2 第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 45 0 引言 高校毕业生就业质量, 即大学生就业质量, 是一个内涵非常丰富的概念 除硬性指标就业率外, 大学生就业质量还包括大学生的工作收入 专业是否对口 工作满意度等弹性指标, 主要体现于主观感受层面 国家 地方政府 用人单位和毕业生维度在各个评价指标上的重要程度往往是毕业生在就业时的一个重要衡量指标 反映大学毕业生就业质量的评价指标体系对今后毕业生的就业工作具有指导性作用, 依据就业质量的评价指标体系研发出来的测评软件可以针对不同的对象使用 在传统的高校毕业生就业质量调查测评体系中, 需要高校或测评发起单位长年跟踪 持续调查并不断进行数据采集分析 这样不仅浪费人力 物力和财力, 同时还容易受到时间和空间的限制 因此, 开发一款以 B/S(Browser/Server, 浏览器 / 服务器模式 ) 为架构的, 具有高可用性 安全性的, 以网站作为实现方式的高校毕业生就业质量测评管理系统就显得很有必要 本文基于上述要求设计并开发了大学毕业生就业质量测评管理系统 1 需求分析大学毕业生就业质量测评管理系统是为了适应现代高校的发展需求而开发的管理系统, 其总体任务是实现高校毕业生就业质量测评管理的信息化和自动化 结合实际的就业质量测评体系和管理工作, 系统应实现测评单位对测评工作的正常开展和后期管理维护 1 1 业务需求分析软件的前台包括主页系统以及用户登录系统, 并且应该包括学生端的信息采集页面 在前台中, 需要系统为用户展示一个登录或者注册的入口, 用户可通过注册页面对学生身份进行验证, 以便进行数据的合法性及有效性的验证 而在登录页面中, 学生可通过页面进入到信息采集页面 待评测对象 ( 大学毕业生 ) 在登录界面成功登录后即可进入测评页面, 并完成各项测评指标, 提交到服务器数据库中, 完成测评之后可以获取分数 后台为管理端, 面向各评测管理机构 ( 如高校就业相关部门 ) 管理员登录到后台后可实现信息的添加 删除 修改以及批量查询等操作, 具体可细化为对用户的增删改查以及对评测指标的增删改查等功能 1 2 系统的总体要求客户端对数据进行合理加工后按照预定的模式, 向服务器发起数据提交请求 客户端在将数据发往服务器之前, 会进行数据合法性 ( 有效性 ) 验证, 通过验证后发送到服务器, 服务器对发出申请的环境进行判断, 若客户端环境合法便可接受数据, 并将数据合理加工后存储到数据库中 ; 若客户端环境非法, 将拒绝客户端的数据提交, 且不会存储到数据库中 在整个过程中, 页面行为的任何脚本文件 (JavaScript, 简称 js 或 JS) CSS 文件 连接 资源 字体等内容都需要通过内容安全协议 (ContentSecurityPolicy, 简称 CSP) 的验证, 防止发生恶意的跨站脚本攻击 (CrosSiteScript, 缩写 CSS, 又称作 XSS) [1] 通过移植副本到服务器中, 并运行相应的安装文件, 可实现将系统安装到服务器中 在不同级别的后台管理页面中, 均可实现信息的采集和录入 信息管理和信息批量录入等功能 1 3 安全性与完整性要求系统的完整性要求保证了系统中数据的正确性及相容性 系统设计的安全性要求系统除了能够正常完成事务处理以外, 还应该做到系统安全, 能够抵御常见的攻击, 能够实现数据的统计与导入导出 备份等设计目标 在安全性方面, 数据的安全过滤验证可以采用 CSP XSSFilter SQL 防注入工具等解决方案 甚至需要在客户端对数据加密后发送到服务器端, 服务器对数据解密后, 服务器端对数据进行验证判断加工操作, 再将数据加密后存储到数据库 对部分安全要求较高的内容 ( 例如 : 密码 ), 可直接进行非可逆性的加密, 加密思路包括消息摘要 (MesageDigest) 等方式, 以确保安全

3 46 昆明冶金高等专科学校学报 2018 年 6 月 2 概要设计 2 1 系统软件结构 结合用户的实际需求, 根据系统的设计目标, 本系统软件结构如图 1 所示, 系统流程如图 2 所示 2 2 系统软件结构功能描述 系统的主要功能 :1 用户登录与注册 : 实现基本的用户登录与注册等功能 ;2 人员管理 : 实现对该系统的用户和管理员的新增 修改 删除等功能 ;3 测评 : 实现系统的主要功能 测评管理 ;4 测评指标内容的发布和管理 ;5 测评成绩查询, 授权用户重新测评 3 详细设计与实现 开发工具 : 前端采用 HTML5 JavaScript CSS3 进行开发 ; 系统采用了 Ajax jquery 等 Web 网站应用技术 3 1 数据库设计 结合系统的功能需求与实际开发, 建立了用户表 (users) ( 表 1) 测评成绩表 (score) ( 表 2)2 个数据库 该系统极大程度地对数据库进行了精简, 避免了数据库冗余, 保证了数据库的约束性和有效性 数据库模型如图 3 所示 表 1 users 表字段 Tab 1 Userstablefield 字段名类型排序规则属性空额外备注 userid username pasword usergrp BIGINT (13) VARCHAR (16) CHAR (32) VARCHAR (40) ENUM ( 0, 1, 2 ) UNSIGNED NOTNULL AUTO_ INCREMENT 用户编号 utf8 NOTNULL 用户名 utf8 NOTNULL 密码 utf8 NOTNULL 邮箱 utf8 NOTNULL 用户组 (0 为管理员,1 为普通用户,2 为超级管理员 )

4 第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 47 表 2 score 表字段 Tab 2 Scoretablefield 字段名类型属性空默认额外备注 scoreid BIGINT(13) UNSIGNED NOTNULL AUTO_ INCREMENT 成绩编号 userid BIGINT(13) UNSIGNED NOTNULL 用户编号 sum FLOAT(5,2) NOTNULL 总成绩 item1 FLOAT(3,1) 0 测评指标 1 成绩 item2 FLOAT(3,1) 0 测评指标 2 成绩 item17 FLOAT(3,1) 0 测评指标 17 成绩 3 2 页面设计与实现 登录 / 注册模块软件的入口为用户端的登录 / 注册 用户访问网站时, 网站将会向用户提供一个登录或注册的页面 若用户已有账号, 则可以直接登录 ; 没有账号需要首先进行注册, 注册完成之后访问登录页面即可登录 下面是登录页面和注册页面输入框的正则表达式代码以及 JS 验证代码 用户名 : 规则 : 仅由阿拉伯数字和大小写字母组成的 6-16 位字符 ( 每个英文字母占一个字符位 ) 正则表达式 :^[a-za-z0-9]{6,16 $ 密码 : 仅由阿拉伯数字 英文字母以及下划线组成 正则表达式 :^[a-za-z0-9_]{6,16 $ 邮箱 : 邮箱必须符合格式, 如 com 正则表达式 :^(\w) + (\ (\w) + ((\ \w+) +) $ 验证码 : 仅有阿拉伯数字组成的四位数字 正则表达式 :^[0-9]{4 $ JavaScript 验证代码 : // 判断用户输入是否合法 functioncheckval(type,value) { if(xsfilter(value)){ varpat=""; switch(type){ case username : pat= /^[a-za-z0-9]{6,16$/; case pasword :

5 48 昆明冶金高等专科学校学报 2018 年 6 月 case confirmpasword : pat= /^[a-za-z0-9_]{6,16$/; case" ": pat= case"captcha": case" certcode": pat= /^[0-9]{4$/; default: pat=""; if(pat.test(value)){ if(type=="confirmpasword"){ if(document.getelementsbyname("pasword")[0].value === document.getelementsbyname ("confirmpasword")[0].value){ return"1";// 正则表达式校验通过 else{ return"0";// 正则表达式校验不通过 else{ return"1";// 正则表达式校验通过 else{ return"0";// 正则表达式校验不通过 正则表达式通常被用来检索替换那些符合某个模式 ( 规则 ) 的文本 [2] JavaScript 也能够很方便地使用正则表达式进行输入验证 在 JavaScript 中内置了一个方法 ( 函数 ) test(), 可以很方便地对正则表达式和字符串进行判断验证 test() 方法搜索字符串指定的值, 根据结果并返回真或假 [3] 与此同时, 验证用户输入是否合法, 还需要防止 XSS 攻击过滤验证 下面是 XSS 攻击过滤的代码 : functionxsfilter(checkedval) { varxspat= new Aray(" <"," >","\"","\'",",","/","?",";","{","","[","]"," ","\\","`"," ~","!","#","$","%","^","&"," ","(",")","-","+","=",","," ","?",";",":"," '","""," "," "," ","!"," "," "," ","(",")","--","\&","\n","\r","\t","\b","\ f","\`","javascript","script","onclick","oncontextmenu","ondblclick","onmousedown","onmouseen ter","onmouseleave","onmousemove","onmouseover","onmouseout","onmouseup","onkeydown","onbe foreunload","oneror","onhashchange","onload","onpageshow","onpagehide","onresize","onscrol"," onunload","onblur","onchange","onfocus","onfocusin","onfocusout","oninput","onreset","onsearch","

6 第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 49 onselect","onsubmit","oncopy","oncut","onpaste","onafterprint","onbeforeprint","ondrag","ondra gend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","onabort","oncanplay","on canplaythrough","ondurationchange","onemptied","onended","onloadeddata","onloadedmetadata","on loadstart","onpause","onplay","onplaying","onprogres","onratechange","onseeked","onseeking","on staled","onsuspend","onti,eupdate","onvolumechange","onwaiting","animationend","animationitera tion","animationstart","transtionend","onmesage","onmousewheel","ononline","onofline","onpop state","onshow","onstorage","ontoggle","onwheel"); varflag=true;// 开始检测 for(vari=0;i< xspat.length;i++){ if(checkedval.indexof(xspat[i]) == -1){ flag= flag&& true; continue; else{ flag= flag&& false; returnflag; XSSFilter() 的函数 ( 方法 ) 定义了一个简单的 XSS 过滤器 XSS 过滤器将严格过滤用户输入, 诸如 JavaScript 等单词将严格禁止出现在用户输入中, 以防止出现 XSS 攻击 所有涉及用户输入的数据均应先通过该验证方可进行后续的操作, 否则将被禁止进行相应的操作 登录页面设计登录页面提供了登录功能和跳转注册的入口 登录页面的上方为导航栏, 通过导航栏可以很方便地直接访问首页 注册页面和关于软件的相关页面 网页的主体是登录框 登录框有 3 个输入框, 用户需要分别输入用户名 密码和验证码登录 ; 同时, 用户还需要输入合法的信息, 信息非法, 软件也将禁止用户登录 登录页面如图 4 所示

7 50 昆明冶金高等专科学校学报 2018 年 6 月 注册页面设计注册页面为用户提供了一个注册的入口, 用户注册成功后方可进行登录以及后续工作 注册页面的上方导航条和登录页面功能一致 不同的是登录页面提供了登录入口用于用户的登录, 而注册页面则提供了注册入口, 用于用户输入信息进行注册 注册输入框为用户提供了 6 个输入框 分别是用户名 邮箱 验证邮箱的验证码输入框 密码 确认密码和图形验证码输入框 同样的, 注册页面的输入框也进行了严格的 XSS 验证过滤, 用于进行用户输入的合法性验证 注册页面如图 5 所示 用户输入合法的邮箱点击 验证邮箱, 用户会在邮箱输入框中输入的邮箱地址中收到一封电子邮件, 电子邮件中包含邮箱验证码, 邮件如图 6 所示 准备测评页面如图 7 所示, 页面将会显示用户名和 开始测评 的按钮, 用户点击按钮进入测评 测评页面 测评页面展现了测评的各个指标 用户完成测评的各个指标后, 点击 提交 按钮, 便完成了一次完整的测评过程, 服务器将自动计算用户的总成绩, 并显示在完成测评的页面 一旦用户成功将测评

8 第 3 期 王宁邦, 贾连印, 王传坚, 等 : 大学毕业生就业质量测评管理系统设计与实现 51 结果提交到数据库, 数据库中的数据将无法进行修改, 用户也无法进行第二次测评 若用户完成测评, 再次登录到测评系统, 系统将直接显示用户已经完成测评, 并拒绝为用户提供测评入口, 此时页面将不再显示 开始测评 按钮, 而是显示 退出登录 的按钮 所有测评页面均设置了会话控制和非法验证等信息 测评页面直接与数据库交互 此步骤是十分危险的行为, 需要小心谨慎 引入会话控制可以一定程度降低数据库泄露的问题 ; 同时防止一些不安全人员对服务器注入恶意代码甚至对数据库进行注入, 大规模破坏数据, 造成极大的损失 因此, 所有测评页面均必须严格引入会话控制 会话控制的实现方式有很多, 诸如 OAuth2 的验证等 此处使用了客户端与服务端对会话 (Ses sion) 的验证 验证的实现方式为验证数据库中的用户组是否有权限访问该页面, 若无权限, 则用户应当被禁止来到页面, 并被引导离开 同时, 测评页面的所有页面均需要存在用户登录信息, 否则也不允许用户进入访问 对 Sesion 会话中是否存在用户编号进行判断, 判断是否存在用户编号及验证用户是否成功登录的源代码如下 : if($result){ if($result-> num_rows==1){ $row = $result-> fetch_asoc(); $_SESSION ["userid"] = $row ["userid"]; $_SESSION [" username"] = $row [" username"]; echo"1"; 点击 登录 按钮后, 用户输入的用户名和密码以及验证码均会使用 Ajax 传输到这个文件 当登录服务端处理文件接收到传输过来的数据后, 将会与服务器建立一个连接, 并组合 SQL 语句即可实现查询用户是否能够成功登录的功能 同时, 该 SQL 语句还自己查询用户名 用户编号和用户组等信息, 如果用户能够成功登录, 前台登录页面接收到成功登录的信息 ( 即 echo 1 ), 用户名和用户编号被写入到 Sesion 会话中, 方便在需要的时候提供调用 后台管理入口管理部门后台管理时, 同样需要用户名和密码以及验证码进行登录操作 后台管理该软件向高校 教育部门 测评管理单位提供了后台管理的功能, 方便这些单位对用户以及测评指标进行修改查询等操作, 内容管理即为评测指标管理 在用户管理功能中, 管理部门可实现新增用户 删除用户 修改用户和查找用户等操作, 如图 9 所示

9 52 昆明冶金高等专科学校学报 2018 年 6 月 3 3 软件测试软件错误代码对照如表 3 所示 4 网站运行环境本系统采用 B/S 架构进行开发 为保证系统的正常使用, 客户端浏览器推荐使用 Chrome,Firefox,Edge,Inter netexplorer11, 不推荐使用其它浏览器访问 同时出于安全考虑, 系统禁止 Safari 浏览器进行访问 服务器需安装 PHP7 0 及以上版本,MySql 数据库,Apache2 服务器, 用户不需要安装客户端软件, 仅需要使用被允许的浏览器即可进行访问, 操作方便快捷, 适用性 稳定性和安全性高 系统引用了 jquery,googlematerialdesignlite,con tentsecuritypolicy 等开源工具, 因此, 系统需要遵循 MIT,GPL 等相应的开源软件协议 表 3 软件错误代码对照表 Tab 3 ComparisontableofSoftwareerrorcode 编号 代码 描述 1 0 普通布尔值假 2 1 普通布尔值真 无权限访问 用户名或密码错误 服务器发生错误 找不到页面 非法访问 8 10 获取图形验证码失败 9 11 获取邮箱验证码失败 图形验证码验证失败 邮箱验证码验证失败 5 安全性编程最新的 2017OWASPTOP10 [4] 指出, 注入 身份验证和会话管理 访问控制 跨站脚本攻击将作为该软件的重点进行防范 ; 所有页面都应该引入 CSP 进行安全验证以及由阿里云的云盾服务进行保护 [5] CSP 是由 W3C 提供的一项服务, 用于减少 XSS 攻击对 Web 安全带来的威胁 [1,6-12], 开发者可在 HTML 的 head 中设置它们 如下是一个内容安全协议的示例 :default-src none ;script-src self ;connect- src self ;img-src self ;style-src self 6 结语本文提出了可用的 安全与性能兼备的大学毕业生就业质量测评管理系统的设计方案和实现方法, 采用 PHP +MySQL 为服务器的 B/S 架构解决方案, 前端通过 HTML5 JavaScript CSS3 进行开发 系统采用了 Ajax jquery 等 Web 网站应用技术, 为了提高安全性, 采用了 XSS 验证过滤和引入会话控制, 并运用软件工程的方法详细介绍了该系统的设计与实现 系统功能的进一步完善及 PHP 安全性编程策略改进是下一步研究的方向 参考文献 : [1] 葛丽萍.PHP 网络编程技术详解 [M]. 北京 : 清华大学出版社,2014: [2] 软件开发技术联盟.PHP 开发实例大全 ( 基础卷 )[M]. 北京 : 清华大学出版社,2016. [3] 软件开发技术联盟.PHP 开发实例大全 ( 提高卷 )[M]. 北京 : 清华大学出版社,2016. [4] 王颉.OWASP 中国 [EB/OL].[ ].htp:// [5] 王宁邦, 徐博, 徐, 等. 基于 互联网 + 的精准扶贫信息化应用 [J]. 云南师范大学学报 : 自然科学版,2018,38(4): [6] 孙鹏程.PHP 开发手册 [M]. 北京 : 电子工业出版社,2011. [7] 王宁邦, 徐博. 一种桌面门户移动化解决方法 [J]. 昆明冶金高等专科学校学报,2017,33(3): [8] 徐博, 王宁邦, 陈彬, 等. 网络设备故障解决一体化平台初探 [J]. 网络安全技术与应用,2016(8): [9] 王宁邦, 刘江涛, 梁红飞, 等.Cacti 在可视化校园网络管理中的应用 [J]. 云南民族大学学报 : 自然科学版,2018,27(2): [10] 王宁邦, 徐博, 夏百川, 等. 一种颜色直方图计算相似度的资产图片核对算法 [J]. 智能计算机与应用,2018,8(2):59-62,67. [11] 王敏, 张俊, 赵坤灿, 等. 基于 MFC 的高校人事档案管理信息系统的设计与实现 [J]. 昆明冶金高等专科学校学报, 2009,25(3): [12] 赵娜. 会计电算化精品课程在线答疑系统的设计与实现 [J]. 昆明冶金高等专科学校学报,2010,26(5):36-42.