




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于PHP的Web知识学习系统的设计目录引言 摘要:Web漏洞主要是程序员在设计程序时因考虑不周而造成的漏洞。由于Web漏洞种类繁多,并且市场上Web漏洞学习平台的内容参差不齐,因此,Web漏洞的学习难度较大。本系统为用户提供漏洞学习和漏洞修补等课程,给维护网络安全提供了很大的便利。系统是基于B/S框架,采用PHP脚本语言、MySQL数据库等技术,在PHPStudy开发环境中实现了一个功能较为完整的学习系统。系统角色划分为普通用户和管理员,普通用户模块包括:系统简介、课程中心、站内公告、漏洞知识、资源下载、我的学习、测试查询等;管理员模块包括:系统设置、课程管理、试题库管理、测试管理、资源管理、用户管理等。系统运行稳定、使用便捷,是一款功能性齐全、安全性高、移植性和维护性强的Web漏洞学习平台。关键词:Web漏洞;PHP语言;MySQL数据库;B/S框架;学习系统引言在二十一世纪互联网时代,网络的兴起让人们可以更加广泛、快速、准确的传播各种信息。而网络的发展也让漏洞变得司空见惯,特别是Web漏洞的OWASPTop10,它是危害排名靠前的十大安全隐患漏洞。如果网站的站点存在漏洞和黑客入侵,攻击者就可以轻松地掌控整个站点,并进一步获得该服务器站点的访问权限和管理权限。创建安全的Web应用程序或修复现有应用程序的漏洞都是非常困难的,所以针对Web漏洞进行的防御变得尤其重要。如果企业管理人员需要管理大量的应用程序,这将是一项厚栋任重的任务。在与日俱增的攻击和网络安全监管的压力下,公司必须建立强有力的防御系统去确保应用程序和API的安全。因为现在很多网站的应用程序都存在大量的Web漏洞,所以针对Web漏洞进行学习的需求变得日益紧迫。1概述1.1研究背景社会发展的决定性力量就是科技发展,科技发展就要求人们创新,只有创新,我们才能发明智能化的产品,发明智能化的产品才能推动经济的发展。在我们的日常生活中,计算机的广泛使用带给人们巨大的便利。随着科技发展的瞬息万变,人们对计算机有了更高的需求,这就要求我们不断开发新的系统,所以互联网给我们带来便利的同时,也推动着社会不断进步。现今网络学习成为一种潮流,互联网则是学习的一个重要平台,并得到快速的发展。因此越来越多的应用软件在功能上和性能上不断创新和完善,但往往容易忽略其安全性,容易让攻击者有机可乘和有利可图。攻击者利用存在的各种漏洞,以获取服务器的管理权限,从而进行恶意修改网页内容,盗取保密的数据信息等操作,其中更为严峻的是在网页中插入木马或恶意代码,用户在访问该网站时容易被攻击,因此Web安全威胁迫在眉睫。如近年来发生的网络安全事件:阿里云用户数据被泄露、WannaCry勒索病毒事件全球爆发、“滴滴出行”App严重违法违规收集使用个人信息等。1.2研究意义近年来,网络安全事件屡屡发生,如数据库信息被窃取和删除、服务器被攻击、用户账户被窃取、用户数据被恶意篡改、网络钓鱼、勒索病毒等,并且新的攻击方式也层出不穷,网络安全的重要性随着这些安全事件的出现变得愈发紧急。目前,通过不断发现和利用的新漏洞,使得Web安全漏洞将继续成为未来研究和联合防御的重点。Web漏洞学习平台具有完善的漏洞课程和漏洞知识点,并且支持免费的下载工具和实验练习的详细过程。管理员可以通过后台很方便的管理平台,也可及时更新课程和知识点,满足用户的学习需求。2开发技术介绍2.1PHPStudy本系统的前端主要结合了PHP语言来实现页面的设计,PHPStudy是一个基于PHP语言的开发平台。与其他开发环境不同,它有许多标准的插件。通过与应用服务器的集成大大提高了计算速度。PHP是一种快速和清晰的动态网站开发的脚本语言。该语法集成其他前沿语言的优点,比如简单快捷、高适应性、强兼容性,而正是这些优点使得它可以快速运行动态页面,进而收到大众欢迎。现在大多数网站都使用PHP脚本语言作为软件开发语言,由此看来,PHP脚本语言在最近几年也是非常流行的,而且还有具有巨大的潜力和开发价值的。2.2MySQL数据库MySQL是目前属于Oracle旗下产品的开源数据库管理系统。MySQL采用的是最常用的标准化SQL语言。因为MySQL是一款开源、免费、便捷的数据库,所以一般中小型系统的开发都选择使用该数据库。MySQL是将数据信息存于不同的数据表中,因此提高了效率和应用性。MySQL是当今世界使用率最高的开源数据库软件之一,因其采用大众化的数据库管理语言和结构化查询语言。由于其透明、可靠、免费和开放的性质,它被认为是PHP的“最佳合作伙伴”。除此之外WampSever的集成环境选用的就是MySQL软件,可以说MySQL是最适合PHP的开发的一款软件。2.3B/S结构B/S结构是基于浏览器和服务器之间的数据交互达成系统功能的实现。当用户在客户端输入信息,客户端将用户的行为和数据传输到服务器,服务器端收到请求并作出回应,根据请求的类型决定是返回数据还是存储用户数据。在这个过程中我们通过这一系列的请求从而达成了用户通过浏览器实现数据交互。用户通过浏览器可以实现所有想要实现的功能,我们也可以在系统的编码过程中返回一些对应的提示,有着良好的界面交互性可以帮助用户了解系统。方便用户快速上手。另外一种开发架构是C/S结构,是基于客户端和服务器之间的交互。这个模式的架构有着较大的缺陷,远不如B/S结构简单高效,因此绝大多数软件公司都选用B/S架构进行开发。3系统分析和设计3.1系统需求分析本系统的前端和后端界面都是通过PHP语言来实现的。系统的主要功能是实现用户观看课程视频和在线测试,课程需要章节分类,答题需要限制时间和成绩查看。系统可分为用户和管理员两个角色,用户需要实现登录注册、个人信息的查看修改、课程视频的查看学习、漏洞文章的查阅、在线测试等功能;管理员需要实现系统、课程、知识、试题库、测试、用户的管理等功能。在开发中要防止出现常见的Web漏洞,确保系统的安全性。3.2系统功能模块根据需求分析,最终将该系统从角色划分为用户、管理员两种,每一种角色可以实现的具体功能如下:(1)用户登录注册模块:用户登录系统前需注册账户,注册成功即可登录。(2)用户模块:用户可修改个人信息,添加学习课程。(3)课程模块:用户可在课程中心添加需要学习的课程,漏洞学习平台会将用户的选择存入数据库中,用户可在个人中心查看所选课程。(4)测试模块:用户在浏览试题的同时可以进行试题测试。(5)管理员模块:管理员拥有最高管理权,可以对所有的信息进行操作,包括对课程信息、用户信息、试题库信息等进行添加、修改和删除。为更好的服务用户,系统中的信息要及时更新和维护,以保障基于PHP的Web漏洞学习系统的性能。用户:课程中心、漏洞知识、站内公告、资源下载、用户中心,管理员:系统设置、课程管理、测试管理、知识管理、用户管理等功能。系统功能结构图如图1所示:图1系统功能结构3.3系统E-R图在结构设计中,用户可以参与数据库系统的开发和评估,以满足他们的个性化需求。其中E-R模型方法是最常用的概念模型设计方法。Web漏洞学习系统管理员可以对课程、试题库、测试、资源、漏洞知识等进行管理,用户可以学习观看视频、做章节测试等操作。系统E-R图如图2所示:图2系统E-R图3.4数据库设计下面介绍本系统数据库中的各个表的详细信息。数据库名为Web-vulnerability主要的表有user(用户表)、content1(课程信息表)、jie(每节课程章节表)等,各个表的设计结果如下:user表主要用来存放用户的账号、密码、姓名、邮箱、注册时间等字段,字段id为主键,详细信息如表1:表1user表序号字段名类型长度主键是否可空备注123456idaccountnicknamepasswordemailAddtimesmallintvarcharvarcharcharvarchartimestamp5645032500是否否否否否不允许不允许不允许不允许允许不允许ID号用户名姓名密码邮箱注册时间content1表主要存放Web漏洞课程信息,包括课程名称、课程视频、课程介绍、上传时间、课程图片等字段,字段id为主键,详细信息如表2:表2content1表序号字段名类型长度主键是否可空备注123456idvideotitlecontentaddtimeimgintvarcharvarchartexttimestampvarchar10255500050是否否否否否不允许允许允许不允许允许允许ID号课程视频课程名称课程介绍上传时间课程图片jie表主要存放不同课程下各小节的信息,包括课节标题、课程ID号、课节视频、上传时间、课节介绍、课节简介等字段,字段id为主键,详细如表3:表3jie表序号字段名类型长度主键是否可空备注123456idtitlecontent1idvideoaddtimecontentintvarcharintvarchartimestamptext1150115000是否否否否否不允许允许允许不允许允许允许ID号课节标题课程ID号课节视频上传时间课节简介4系统设计与实现4.1用户登录注册模块系统的用户端提供登录注册功能。注册页面需要填写用户名、密码、邮箱、手机号等其他个人信息实现注册,对输入的用户名进行正则限制字符串,判断用户名是否存在,对输入密码进行MD5加密,对输入的姓名进行判断为2-8位的汉字,对输入Email进行正则判断以满足邮件地址的格式,对联系电话进行正则判断以满足电话号码格式。如果注册信息不满足规则或用户名已存在,会提示注册失败,返回重新注册,通过对用户名的限制和密码的加密,最后将用户的注册信息存入user表中,注册界面展示如图3所示。用户在登录系统时需要输入用户名和密码,通过对用户名、密码、验证码的正则判断是否成功,验证成功即可登录,如果用户名不存在或密码错误等,都会提示登录错误,返回重新登录,登录成功后会跳转到网页首页,在用户中心中显示用户个人信息。图3用户注册界面4.2用户功能模块用户进入系统后,可以查看平台上最新课程,但进入系统必须登录账号,游客身份无法学习课程,系统会弹出请先登录的提示框。点击首页的more会跳转到课程中心,可查看所有课程,选择想要学习的课程加入到用户中心。在用户中心我的学习中可查看添加的课程,我的课程中有四个字段,分别是课程名称、查看测试、时间、操作,课程名称是通过user表和content1表进行多表查询,两个表通过user表的id和content1表的content1id进行连接查询。查看测试是通过对exam表的content1id字段进行分组,查询课程对应的测试题。时间是通过content1表的addtime字段添加课程的时间。操作是通过user表id字段和content1表content1id字段进行删除操作。最后将查询的结果按时间以降序返回到页面上。系统采用Session进行会话控制,用来维护客户端和服务器之间联系,用户在登录成功时会显示用户名。通过使用Session获取user表id字段的用户名,用户的个人信息可在用户中心的系统设置中进行修改密码和资料。修改时输入的信息是按照用户注册的同等规则进行修改。系统首页如图4所示:图4系统首页界面4.3课程功能模块在系统的课程中心界面显示所有的课程。课程信息保存在content1表中。判断课程是否加入用户的学习课程中是通过查询myjoin表中userid字段对应的conten1id课程,通过对数据库中数据表的查询,按加入时间降序显示在界面上。每门课程下存在多个章节,每个章节视频打开有详细信息,章节信息存放在表jie中,通过content1id字段进行分组,按章节表的id值升序排列在界面上。在课程界面的右边栏显示热门课程,热门课程为点击量最多的课程,通过查询content1表中的id值降序排序,id初始值为0,每次点击加1,在界面上显示前6个热门课程。课程章节界面展示如图5所示。图5课程章节界面4.4测试功能模块试题库的所有信息存放在表danxuan中,章节测试题是从试题库中选择课程对应的题目存放在表exam中,用户答题后提交测试,系统会将数据库中正确的答案与用户的答案进行对比,测试信息存放在表shijuan中,相等则将分值记录在表shijuan的scores字段,不相等则scores值为0。测试结果的总分通过表shijuan和表mykaoshi进行多表查询,使用sum函数计算总分。测试有时间限制,使用Math.floor函数进行倒计时,时间为0时,会自动提交测试,用户不能继续答题。测试界面展示如图6所示。图6测试界面4.5管理员功能模块后台管理系统是在用户系统的url后加admin,访问后将进入后台系统的首页,在首页需要输入管理员的账户和密码。管理员属于高级用户,拥有所有权,因此可以操作所有的信息。管理员可进行查找并修改账号密码的操作,密码修改必须要满足正则要求,重复密码必须要和密码相一致,避免出现弱口令。修改完提交后将新的密码进行MD5加密后存入数据库中。后台系统的用户管理页面排列显示所有用户的信息,包括用户名称、姓名、邮箱、状态等信息,同时每个用户后都有一个操作,操作是对用户个人信息进行修改或删除用户。修改用户信息通过MySQL的update语句实现,删除用户通过MySQL的delete语句实现。课程管理列表包括课程名称、章节管理、时间等信息,同时每个课程后都有一个操作,操作是对课程信息进行修改或课程删除。课程信息的修改是通过$_POST和$_FILES函数获取数据,课程的图片和视频的修改是通过strtolower函数判断文件上传的类型和move_uploaded_file函数将上传成功的文件移到相对应的文件夹中。课程的删除是通过表content1的id字段执行MySQL的delete语句实现。试题库管理列表包括题目、难易程度、分值等信息,并且可以对试题进行添加、修改和删除操作。试题的添加和修改通过insert和update来操作,操作成功会提交到数据库中。测试管理列表包括课程名称、测试名称、分数、试题等信息,并可以对试题进行增删改查或查看用户答题成绩等操作。测试的生成是通过课程的类别进行分类,分好类后再进行试题管理,在试题管理中可以进行添加和删除题目,操作成功后提交到数据库的exam表中,最后显示到用户端的测试中。管理员还可以对资源、公告、知识等进行管理,在编辑信息时采用了开源的编辑器UEditor对需要上传的数据和文件进行操作,极大的方便对文件内容的操作。5系统测试软件测试与调试阶段在完成基本功能后执行。测试的关键步骤包括分析软件需求、审查设计规范和代码、在软件调试前测试软件以及确保软件质量。测试的过程是在检查中发现问题并及时修改。在系统的设计和实施过程中会出现许多错误,主要包括两种类型:程序的逻辑错误和程序设计的思路错误。5.1用户登录测试用户想要登录,必须在登录前先注册帐户。注册成功后方可登录系统,如果用户输入的账号存在或密码有误,系统会弹出的错误提示信息。只有输入正确的用户名和密码才能登录成功。登录功能测试用例如表4所示:表4用户登录测试用例功能操作预期结果实际结果是否通过登录功能用户输入不存在的账号密码输入错误输入正确用户名和密码系统提示登录失败,回显“账号或密码错误”用户不能登录系统,回显“账号或密码错误”登录成功,页面跳转到主页面与预期结果相同与预期结果相同与预期结果相同通过通过通过5.2课程添加模块功能测试在后台系统中,管理员可以在课程管理中增添新课程,但不能增添课程名称一样的课程,如果添加的课程名称已经存在,系统将显示相应的提示。课程添加模块功能测试用例如表5所示:表5课程添加测试用例功能操作预期结果实际结果是否通过课程添加输入已经存在的课程名称输入未添加过的课程名称添加失败,提示课程名称已存在添加成功,提示“添加成功”与预期结果相同与预期结果相同通过通过6结论本文主要描述了基于PHP的Web漏洞学习系统的研究,分析了系统开发所需的技术及原理,根据需求分析该系统划分为用户和管理员两个大模块,绘制系统功能结构图、数据库E-R图。该系统在设计时,参考了许多出色的网站系统,从页面设计到整个系统的设计为用户和管理员提供舒适快捷的管理和操作。系统主要采用PHP脚本语言、B/S框架、MySQL、Web等技术,实现了用户的登录注册、观看课程视频、查阅漏洞知识、做章节测试,管理员的课程管理、试题库管理、资源管理、用户管理等功能。同时系统还存在一些不足,比如缺少用户之间的讨论和交流,测试的题目类型比较单一等,针对这些不足,接来还需要对系统的功能进行完善和提高。PAGEPAGE13参考文献[1]刘倩倩.基于PHP和MySQL的网站设计与实现[J].中小企业管理与科技(下旬刊),2020(10):162-163.[2]刘小豫,朱亚兵,聂维.健身房管理系统平台的开发[J].内蒙古科技与经济,2019(11):71+73.[3]和润生.《PHP+MYSQL动态网站开发》课程教学效果提升策略研究[J].计算机产品与流通,2020(06):266.[4]江淼,张永涛.高校计算机专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动力柜施工合同范本
- 公用商业装修合同范本
- 包装供应合同范本
- app合伙合同范本
- 以房换房合同范本
- 上传网贷合同范本
- 包材委托加工合同范本文库
- 2024年日照市某国有企业招聘考试真题
- 2024年青海海南州教育局招聘高中教师考试真题
- Module 2 public holidays unit 2英文版教学设计 2024-2025学年外研版英语九年级上册
- 辅警报名登记表
- 初中数学竞赛试题汇编
- 外研版英语五年级下册第一单元全部试题
- GB∕Z 27735-2022 野营帐篷
- 培养小学生课外阅读兴趣课题研究方案
- 部编版四年级语文下册课程纲要
- 【课件】第二单元第三节汉族民歌课件-2021-2022学年高中音乐人音版(2019)必修音乐鉴赏
- 高中人音版必修 音乐鉴赏20人民音乐家课件
- 圆二色谱仪操作规程培训
- 华文出版社三年级下册书法教案
- GB_T 30789.3-2014 色漆和清漆 涂层老化的评价 缺陷的数量和大小以及外观均匀变化程度的标识 第3部分:生锈等级的评定
评论
0/150
提交评论