基于PHP的材料成型设备课程资源库设计_第1页
基于PHP的材料成型设备课程资源库设计_第2页
基于PHP的材料成型设备课程资源库设计_第3页
基于PHP的材料成型设备课程资源库设计_第4页
基于PHP的材料成型设备课程资源库设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要1Abstract2引言31材料成型设备资源库总体概括41.1设计目的41.2主体功能流程图42 资源库开发介绍52.1开发语言介绍52.2数据库介绍62.3数据表设计72.3.1数据字典72.3.2索引的作用102.4框架简介102.4.2控制器112.4.3视图112.3 MVC理解122.4编辑器的选择143 材料成型设备课程简介153.1课程性质和教学目标153.2课程内容简介153.3教学要求164 后台功能介绍174.1登录界面174.1.1侧边导航栏184.1.2顶部信息栏214.1.3控制面板224.2材料成型设备内容添加224.2.1材料成型设备类别添加224.2.2

2、材料成型设备资源内容添加235 前台功能介绍245.1首页245.1.1首页功能245.1.2登陆注册245.1.3验证方式245.2搜索列表页255.2.1材料成型设备类别搜索255.2.2材料成型设备类别搜索结果组成265.3文章内容页265.4个人中心266 系统安全性设计286.1PHP开发中SQL注入的产生28安全维护带来巨大负担,例如在开发阶段对数据库的选择操作使用”SELECT * FROM Tabl6.2 PHP中SQL注入的形式286.3 SQL注入的防范296.3.1对输入的数据进行过滤296.3.2对发送到数据库的数据进行转义306.3.3 系统防攻击安全机制31结论33

3、致谢34参考文献352基于PHP的材料成型设备在线资源库摘要材料成型设备课程在线资源库的建设是针对学习材料成型设备课程的人群而开发的一款在线小范围使用的课程资源共享查看平台,平台主要分为前台和后台两个部分组成,实现了前后端交互的效果,后台管理员在添加并分享了相关课程资源的同时,前台浏览人员可以根据自己所要查询的类别搜索查看到有关材料成型设备的相关知识,并可以收藏起来随时观看,这样一来平台就像一个小型的图书馆和笔记本,为查阅资料和读取资料内容极大地节省了时间。在前台浏览的用户提供了手机短信验证注册的功能,方便收集用户信息,以便管理员在后台查看使用情况。关键字:材料成型设备;小范围;在线资源Con

4、structionofmaterialformingequipmentcourseresourcebasebasedonPHPAbstractMaterial molding equipment online repository for the construction of the course is aimed at people learning material molding equipment and the development of an online use of curriculum resources sharing a small scale view platfo

5、rm, platform is mainly divided into foreground and background of two parts, realize the interaction effect before and after the end, the background administrator to add and share in the related curriculum resources at the same time, the front desk browsing personnel can according to what you want to

6、 query the category of the search view to the relevant knowledge about material molding equipment, and can collect up to watch at any time, so that the platform is like a small library and notebook, It saves a lot of time for consulting data and reading data content. The user who browses in the fore

7、ground provides the function of mobile phone short message verification registration, which is convenient to collect the user information, so that the administrator can check the usage in the background.Key words: material forming equipment ;small range; online resources2引言随着上世界互联网大潮的兴起,网络已经随着时间的流逝演

8、变成了一个时代的标签,现如今,国与国之间除了经济和军事力量的对比之外,多了一天科技的对比,在其中,互联网的比重可谓是重中之重。伴随着21世界各种新兴产业的不断崛起,似乎各种行业都借由互联网发生了不可估量的变化,渐渐的,“互联网+教育”慢慢地出现在了人们的视野,“互联网”+教育是国家提出的“教育强国”、“科技强国”的完美结合,他在很大程度上解决了资源有限和师资不足的紧张问题,毫无疑问,“互联网+教育”已经成为了当下教育的“新宠”。 在互联网领域,可以实现无限的可能性,互联网已经实现了全民生活普遍化,大到航天军工开发,小到金融购物,互联网无不在生活的各方面体现着他的独特魅力。教育领域是互联网领域新

9、兴的一枝独秀,在中国的发展历程中,教育是不可或缺的一环,“互联网+教育”更显得尤为重要。因为各行各业的发展现在都基本上借由网络和互联网来提升自身的社会竞争力。机械行业作为我国起步较晚但是发展势头猛的中坚行业,在为祖国培养一大批未来实力可行的机械行业高材生的过程中,机械知识的积累和学习显得尤为重要。传统机械行业的学习大都是借由书籍资料的查看,且收藏起来极为不方便,为此,本文主要介绍的是围绕材料成型设备课程而开发的一个小型资源库,可以一定程度上实现对材料成型设备知识的查阅,收录及其他扩展性的操作等。综上所述,希望可以把互联网和教育紧密联系起来,在提高学习效率的同时也提高了大家对于课程的兴趣,或许这

10、就是寓教于乐的意义所在。1材料成型设备资源库总体概括1.1设计目的此次材料成型设备课程在线资源库的建设是为了响应“互联网+教育”的学习模式而开发的,旨在提高课程资源的查询速度,另辟一条不同于图书馆查询资料的途径,将学习和乐趣同时贯穿于日常的学习生活中,对于小范围内的资源共享可以起到很大的作用,对于教师和学生,这都是一种全新的学习模式,也是一种有潜力的教育模式。通过此次的设计,以及小范围内使用后得到的反馈,可以对平台进行有一步的优化和更新,为了以后可以更好的服务于老师和同学们。1.2主体功能流程图图1.2流程图 此次的材料成型设备课程在线资源库开发主要分为两个大版块,分别是前台展示页面和后台系统

11、管理,前台展示页面主要是给前台用户浏览所服务的,主要构成部分有首页,搜索以及个人中心四个主要功能区,其中前台的所有数据来源均由后台管理系统进行添加和展示。整个项目采用的是前后台互动的形式,后台负责管理前台数据的增删改查,前台负责用户体验和操作。整个项目除前台页面采用了静态模板之外还运用了大量的前后台交互语言,以PHP语言为基础,think PHP5.0为框架载体运用了大量Ajax 异步请求,在提升用户体验度的时候也提升了内部请求命令的响应速度52 资源库开发介绍2.1开发语言介绍PHP(Hypertext Preprocessor 超文本预处理器,是一种通用的开源脚本语言)PHP语法吸收了C语

12、言、Java和Perl的特点,有着其他语言所没有的特点,利于零基础用户学习,应用范围较广,主要用于基于B/S的web开发领域。通俗的来讲,PHP相比其他语言来讲是最适合做网页开发的一门编程语言,相比于Java、Go语言,PHP可谓是后端开发中的王者。PHP的优势主要有以下几点:(1) 开源:网上的所有的版本的PHP都可以免费下载使用(2) 快捷性:程序开发效率快、执行更迅速,技术本身易学习。因为PHP可以嵌入到HTML语言中,也可以做接口开发和前端语言配合使用,所以相对其他语言,编辑更加简单,实用性更强,更适合零基础的初学者。(3) 跨平台强:PHP是运行在服务器端的脚本语言,可以在Unix、

13、Linux、Windows、MOS、Android等主流服务器操作平台运行(4) 效率高:因为执行效率快,且是一个轻量级的脚本语言所以PHP消耗的系统资源相当少。(5) 面向对象:在PHP4和PHP5的版本中,PHP在面向对象方面都有了很大的改进,如今PHP完全可以和Java一样用来做一些大型商业化项目的开发,PHP也逐渐的向着后端开发王者的宝座发展。此次开发采用了php7的版本,相比于之前的版本,PHP7的优势如下:1) 标量参数类型声明:现在支持字符串(string)、整型(int)、浮点数(float)、及布尔型(bool)参数声明,以前只支持类名、接口、数组及Callable两种风格:

14、强制转换模式(默认)与严格模式2) 返回类型声明3) 比较运算符:就是看两个表达式值的大小,三种关系: = 返回0、 返回 14) 性能提升:PHP7要比PHP5快两倍2.2数据库介绍此次开发使用的是较为常用的MySQL数据库,MySQL是一个关系型数据库管理系统,在web应用方面,MySQL是最好的数据管理软件。关系型数据库将不同的数据归类到不同的数据表中,取消了之前原始的将所有的数据都存放在一起,这样就提高了数据库的执行速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL数据库另一个优点就是存储引擎的便捷和实用,考虑到此次开发需要用到InnoDB引

15、擎,因此此次选用的数据库类型为MySQL,InnoDB最大的特征就是他的事务性, InnoDB类型的数据表支持事务、支持外键、不支持数据压缩、写入速度慢、会占用更多内存和磁盘空间。InnoDb的事务处理具有以下四个特性:a. 原子性:事务处理中所有的SQL操作都会被分解成最小的部分看待,在所有的部分中都是环环相扣的,要么一个执行成功其他都执行,要么一个失败其他都失败。b. 一致性:只有合法的数据才能被写入数据库,否则事务将回滚到最初状态c. 隔离性:事务允许多个用户对同一数据进行并发操作。但一个事务的处理结果如果影响到其他事务,则其它事务会回滚。d. 可靠性: 事务处理完成后,对数据的影响是永

16、久的,即使出现系统故障也不会丢失。2.3数据表设计2.3.1数据字典表2.3.1 -1表名:admin字段类型主键为空索引字段描述admin_idint是否是自增IDrole_idint否否否角色IDLogin_numbervarchar否否否登录账号Login_passwordvarchar否否否登录密码mobilevarchar否否否手机号notevarchar否否否备注head_imagevarchar否否否头像statusint否否否状态Add_timevarchar否否否添加时间表2.3.1表名:user字段类型主键为空索引字段描述User_idint是否是自增IDUser_name

17、varchar否否否用户姓名User_mobilevarchar否否否用户手机号Add_timevarchar否否否注册时间表2.3.1-2表名:recource字段类型主键为空索引字段描述Recource_idint是否否自增idType_idint否否否类别IDcontentlongtext否否否资源内容statusint否否否状态Add_timevarchat否否否添加时间titlevarchar否否否标题表3.4表名:type字段类型主键为空索引字段描述idint是否是自增IDType_namevarchar否否否类别名字statusint否否否状态Add_timevarchar否否否

18、添加时间表2.3.1-3表名:role字段类型主键为空索引字段描述Role_idint是否是自增idRole_namevarchar否否否角色名称statusint否否否状态Add_timevarchar否否否添加时间表2.3.1-4表名:menu字段类型主键为空索引字段描述Menu_idint是否是自增idMenu_namevarchar否否否菜单名称Controller_namevarchar否否否控制器名字Action_namevarchar否否否方法名字Parent_menu_idint否否否父级菜单idincovarchar否否否图标信息orderidint否否否菜单的排序表2.3.

19、1-5表名:role_menu字段类型主键为空索引字段描述Role_idint否否否角色IDMenu_idInt否否否菜单id表2.3.1-6表名:collection字段类型主键为空索引字段描述idint是否否自增IDUser_idInt否否否用户IDrecource_dInt否否否资源idCollection_timevarchar否否否收藏时间2.3.2索引的作用在上面的表结构中,出现了很多的索引,索引在数据表的结构中可是一个非常重要的存在,它可以对数据的查询起到非常大的作用。考虑到资源的数据存储会是一个庞大的存在,因此在表结构中的适当地方加入了索引,可以加快查询速度。2.4框架简介此次

20、开发使用的是基于MVC模板引擎且开源免费的thinkPHP框架,thinkphp是由国内的开发团队开发的一款轻量级,使用方便,执行效率块的web开发框架,他本身和另一套国际上通用的Laravel框架有着惊人的相似之处,所以ThinkPHP也有“国产版Laravel框架”一说,不过不代表着thinkphp的使用效果不好,只是thinkphp的使用习惯更加适合于国内的开发者。 2.4.1模型模型(M):MVC里面的 M值得即是模型,模型是对数据库的操作而建立的一个函数类,当需要使用的时候,只需实例化这个函数类,并利用适当的方法去对数据库的数据进行常规操作即可。2.4.2控制器控制器(C):MVC里

21、面的C即是控制器类,控制器是负责者数据的调用、赋值以及视图的显示等功能。一个控制器里面可以有无限多个方法,这些方法之间可以互相调用,对调用出的数据。控制器可以将数据赋值到视图中并把视图展示出来。2.4.3视图视图(V):MVC里面的V即是视图的意思,每一个控制器里面的方法都需要最终调用视图来展示,可以单纯的不加任何数据的展示视图,也可以通过控制器将数据赋值到视图中,并在视图中展示出来。 thinkPHP官方网站,里面对thinkPHP进行了更为详细的介绍:thinkPHP框架目前主流的有两个版本,一个是tp.3.2,另一个是比较新的tp5.0,此次采用的是tp5.0的版本,tp5相对于tp3.

22、2来说,框架更为简洁,执行的响应速度更为快,内置的方法也较3.2更为方便使用,就数据库操作的内置方法而言,tp3.2采用的方法大都是单字母方法,对于操作量如此之大的开发工作来说,这样的方法显得不是太便捷,而tp5对数据库的操作方法做出了极大地改变,实现了由原来的复杂且用途单一的方法转向了多功能且简洁的语法和方法。极大地提高了开发速度。2.3 MVC理解“MVC”当中的“M”的,也即是对框架中我们经常使用的Model的简称;通常,我们都是通过cmd命令行来快速创建模型,通过命令行输入命令来直接创建,这样的方式不仅节约时间,主要是是其方法的简单和易操作,不仅仅是模型,我们通常也在命令行创建控制器,

23、cmd命令行创建模型的基本方法是:进入到项目的根目录,在命令行内输入php artisa make:model Model名称.php;由这样的步骤操作下来,项目的目录Model下面就会出现相对应的名称.php文件,即创建模型成功。当项目需求较为简单的时候,我们只需要在模型中指定所对应的数据库中的表名就行,但是,如果项目逻辑相对来说较为复杂,我们就需要在模型中添加一些方法,以方便在其他方法调用。例如指定的基本表为数据库中的recource表,这是资源表,其他方法就是用来关联题目的,毕竟一个资源可以出现在多个页面中,这样做的目的就是一对多,存进去的序号id,一道题目可以对应多个试卷,存的时候用“

24、,”把题目id隔开,拿数据的时候根据再把他们用“,”分开来取值,这样使用对样的数组进项操作,既方便存储,又方便了取值,这样不仅可以提高开发效率,同时也提高了数据库数据的读写速度和相对应的数据查询速度。“MVC”的中的“V”就是view,就是负责对页面视图的渲染;顾名思义,视图就是我们登录网站所看到的的页面效果。作为后端程序人员,就是负责把最基本的静态页面给他变成活的,让里面的数据可以根据自己的想法改变,可以用一些列的操作达到想要的效果,让一个网站不仅仅是前端静态的展示,还有数据的灵活运用。这就是一个后端编码人员的日常,不需要太多的静态资源的熟悉程度,我们要做的就是用自己所学的知识尽可能达到自己

25、预知的效果,就像本项目的前端静态页面,并不是自己一行一行代码敲出来的,而是用到其他地方的静态模板,现在这些都是开源免费的,社区论坛又是非常活跃的,我们为什么不加入其中用心学习,向别人求教,多交流心得和项目所遇到的困难和自己的见解呢?我们为什么不利用这种资源呢?在视图里面不仅有队页面视图的调整,也有对数据的判断,数据的遍历以及循环这些常用的功能,其中还包括对数据库字段的处理;form表单的提交等功能;前端页面当也是经常用到的ajax进行需要的处理,用js获取到相应的值进入相对应的控制器进行一系列的操作。我所使用的ajax是一种创建交互式网页应用的网页开发技术,一般常用于创建快速动态网页和在无需重

26、新加载整个网页的情况下,能够更新部分网页的需求。这也是我们为什么经常使用ajax的原因所在,不仅是因为他的方便易操作,而且它对用户的体验度有着很大的提升,不必重复加载页面,可以利用局部刷新来提高用户的体验度。利用js获取到你想要操作的页面数据,传到控制器中对其进行需要的操作,放回json格式的数据在前台页面当中进行下一步的渲染,这也是他的一大特点和基本流程。“MVC”中的最后一个“C”是对于我们做网站项目最常用到的“controller”的简称,也是所有网站项目的重中之重。在控制器中的方法和函数是整个项目的发动机,我们所需要的以及网页上的所有操作都是在控制器的方法当中进行的。无论是项目前端页面

27、中的基本数据的渲染,还是该站用户(即学生)对自己密码的操作以及头像的修改都是在控制器中一步步来完成的。首先,控制器是需要模型和视图的支撑,他也是两者的交互的枢纽,控制器需要继承底层结构中的基础控制器的,这也是使用框架的特点,用底层的一些方法,可以很好地节约我们的时间和提示工作效率来完成我们所需要逻辑操作。2.4编辑器的选择本项目主要采用得编辑器是phpstorm,它是由JetBrains公司开发的一款PHP语言编辑器,内置多种扩展和处理技术,在很多方面为开发人员提供了便利,它的宗旨在于提高用户的开发效率和相对应的速度,能够自动识别和理解对应的代码,提供智能代码补全功能以及快速导航和即时错误检查

28、等常用功能;相对于notepad和sublime等编辑器而言;phpstorm的优势不仅在于PHP代码补全,而且它还支持多语言混合,更加易于安装。更为重要的是phpstorm可在Windows、Mac OS X、Linux上等系统安装与运行。之所以选择phpstorm的另一方面的原因在于普及比较广泛,自己对它的了解和运用程度上有更加的深刻的理解。3 材料成型设备课程简介作为一个在线的课程资源库,用户在前台所浏览到的资源都是由后台的管理员操作上传的,其实也不乏有第三方网站的资源跳转去参考。因为是材料成型设备方面的知识,为此后台在添加材料成型设备方面的内容是,默认分为了三个版块以供前台用户在搜索资

29、源的时候进行筛选搜索,分别为概论类,文献类,和图集类,后期如果有其他类别,管理人员可以在后台进行添加,当然,这些类别在后台都是可以进行添加、删除和修改的。这些基础类别的作用主要是体现在前台用户在搜索的时候的筛选作用,如果在搜索的时候没有选择类别的话,那么搜索的出来的内容就是所有类别内包含有搜索词的内容,如果单一的选择其中的某一个类别后,搜索出来的就是在这个类别下的拥有搜索词的所有内容。3.1课程性质和教学目标课程主旨:材料成型设备课程是材料成型及控制工程专业的一门专业课程,也是必须课程,同样也是学位课程。本课程针对材料成型及控制工程专业的使用需要和发展目标,以零件结构设计与成形方法适应性为主线

30、,讲述除切削加工以外的各种常用成形方法以及零件的结构性工艺性与选择实例分析,并结合材料成型新工艺、新技术、新发展,以实际应用为导向,培养学生运用材料成型技术解决实际工程问题的能力。课程目标:本课程以培养高级机械技能应用型人才为目标,以“稳固理论基础,提升实践能力,培养创新精神,完善综合素质”为宗旨。本课程的主要内容包括:金属液态成型、金属塑性成形、非金属材料成型、粉末冶金成型以及其他新型成形方法、材料成型方法选择。通过相关功能模块的理论讲授和实验训练,使学生掌握常用材料成性的方法掌握常用成型方法形产形件的结构工艺性;了解广泛应用于材料成型的新工艺、新技术和新方法。培养学生能够根据自己的想法设计

31、针对材料成型的工程问题的解决方案,设计出满足特定需求的工艺方案和产品,在不断的技术更新洪流中能够不但更新自我创新意识。3.2课程内容简介本课程的内容主要包括成形生产常用的设备如机械压力机、液压机、螺旋压力机、轧制机、压铸机、电阻焊与电弧焊设备、塑料挤出与注射成型机等的工作原理、典型零部件的机械结构与关键零件的设计原则、自动控制系统、工作动态性能特点、主要技术参数与适用工艺及使用要求,并对材料成形设备的情况进行了介绍。在进行理论教学的基础之上,辅之以实验室或者工厂实训的形式强化教学效果。遵照“理论与实践并行”的教学理念。3.3教学要求1. 熟练掌握使用机械压力机、液压机、螺旋压力机、轧制机、压铸

32、机、电阻焊和电弧焊设备、塑料挤出与注射成型机等的总体工作原理、主要技术参数、规格型号以及成形设备的选用原则与方法。2. 基本掌握通用机械压力机、液压机、螺旋压力机、轧制机、压铸机、电阻焊与电弧焊设备、塑料挤出与注射成型机关零部件的基本结构、类型和安装调节的方法,关键零部件的设计方法与常见故障。4 后台功能介绍4.1登录界面后台登陆界面如图5.1所示,此界面是结合了HTML,CSS和Jquery等前后端语言,系统的后台登录界面是由一个单纯的HTML页面组成,加上一些css样式的修饰配上jQuery的后台跳转实现登录功能,在这里登录的都是材料成型设备在线资源库的管理人员,所以可能会有多个管理员的身

33、份存在,为此在登录后台的时候,系统会根据传递过来的数据信息进行一系列的判断,验证帐号信息获取账号的状态进行判断,登录者的状态是否正常等等,若一切信息正确无误,则可进入管理系统后台,若账户密码错误或者状态异常,则会有提示信息告知,以便第一时间进行查看错误图4.1-1后台登陆界面管理员在登陆面板输入账号密码后,通过Ajax将输入的账号密码传入到后台代码,在PHP代码中,系统会通过一系列指令判断和数据库内admin表的内容进行比对判断,这里执行的是对数据库的查询操作,使用的是think PHP内置的数据库操作方法,简单便利且执行速度快。具体内容如图4.1-2所示图4.1-2 后台登录验证代码管理人员

34、登录成功之后即可进入管理系统首页,管理系统首页主要有三部分组成,分别是侧边菜单导航栏、顶部个人信息栏以及占比最大的控制面板组成。4.1.1侧边导航栏侧边导航栏是整个后台的管理操作菜单列表,由于不同的管理员管理角色的不同,所以不同角色的管理员对后台的操作菜单也会有所不同。侧边菜单栏列表如图4.1-3所示图4.1-3 后台系统侧边菜单1 资源管理:资源管理版块主要的操作就是对前台用户们浏览的材料成型设备资源进行管理,后台的管理人员可以在这里对已经或者未发布的资源进行添加、删除和修改等操作。同时,管理人员也可以在这里控制资源的发布和下架,选择发布状态则该资源在前台搜索的时候就可以搜索到该内容,一旦禁

35、止之后就搜索不到。管理者在添加资源的时候会有选择类别的选项,因为不同的资源的类别可能是不一样的,因此需要选择一个类别,也是为了给前台浏览搜索的时候方便查找,如果没有选择类比的话,再点击保存按钮的时候会有一个弹框信息提示并会用红色字体提示选择类别信息。当选择类别之后,再次点击保存会显示保存成功并在5秒之后自动跳转到列表页。2.类别信息:类别信息下面开设的只有一个类别信息管理,操作的是对类别信息的添加、删除、修改。这里的类别信息和资源管理里面添加资源信息时候选择的类别是相关联的,也是前台用户在搜索的时候选择的类别,前台搜索类别的多少和内容也是根据后台管理员操作的类别信息的内容而定,不过根据设置的情

36、况而定,前台搜索栏上的筛选类别最多不超过四个。3.系统设置:系统设置主要包括两个方面:一个是操作角色管理,另一个是操作人员管理。这两个版块是对后台系统的权限管理的操作,操作角色决定了不同的角色拥有着对后台不同的操作权限,即可以操作不同的版块,操作人员管理就是对登录后台的管理员身份进行管理,也可以添加管理员账号,同时也可以选择管理员状态,这里管理员的账号就可以分配给多个管理员,这里需要提醒的是,后台可以允许多个管理员同时登陆后台进行操作,但是不能同时对其中的某一天记录进行操作,因为这样可能会导致对同一条记录的操作冲撞,导致系统内部不能判定同一时间内哪一条操作才是最终的操作。在给后台管理人员添加账

37、户和分配权限时,需要先进行角色的添加和配置,然后在进行账户的添加,这里的角色名称就代表着拥有的权限,具体操作如图4.1-4所示图4.1-4添加角色信息角色名称就是一个管理员角色的代名词,例如超管,编辑者;备注信息是对添加的角色的描述信息;角色状态主要有两种正常和异常,正常状态下,该角色登录成功之后即可进入后台拥有对系统的操作权限,当然前提是需要给角色配置权限,如果管理员只有角色而没有权限,那么在登录时就会提示管理员该账户没有操作权限。角色权限的配置,添加完成角色后需要给该角色添加权限,不添加权限的话,该角色下的账户没有任何对菜单的操作权限,具体内容如图4.1-5所示图4.1-5角色权限分配角色

38、权限分配所操作的即是给添加的角色分配可操作的菜单列表,左侧为主菜单权限,即一级菜单,右侧为子菜单权限配置,即二级菜单分配,这里加入了全选和反选的功能,当点击一级菜单时,一级菜单所属的所有二级菜单全部选中,为操作者提供了便利。给角色分配完权限后,后台管理员就可以添加其他的后台管理人员账户,可以通过选择不同的角色使不同的管理员拥有不同的操作,内容如图4.1-6所示图4.1-6添加管理员信息用户管理的功能只有一个就是记录下前台注册过来的用户,用来分析和记录资源库的使用人群也方便管理者对平台的使用情况进行一个大致的了解,用以在一个阶段内了解平台的使用情况,在用户管理列表上方加入了一些筛选条件,可以定期

39、内推出一些新的资源内容,平台管理者可以使用短信发送的功能给用户发送短信通知平台最新内容。4.1.2顶部信息栏管理者在登陆系统成功的同时,系统会把登陆者的信息存储到后台缓存中,在进入到系统后,系统内部会自动把存储的管理人员信息读取出来并展示在顶部信息栏目中,在个人信息旁边设置的有退出登录按钮,点击退出登录,则会把当前登录人员的信息清空并退回到登录界面。用这样的方式实现登录与退出功能的操作基本的原理就是用所学的到Session的会话跟踪技术;这也是做网站最常用的技术原理,他的原理是当管理员登录成功之后,会把管理员的个人基本信息存到Session里面,每当用到的时候就去Session当中取对应的值来

40、进行需要的操作;退出的时候就即是把Session里面的信息清空,这时管理员的信息就会从浏览器消失,因为当你登录的时候,浏览器会把Session信息存到服务器,在管理员本地也会存下cookie,下次访问会带着这些里面的信息进行比对的登录,退出即把当前的Session清空,即退出成功另外,退出登录后需要重新输入账号密码才可以重新进入系统后台,点击网页上的后退键是无法进入系统后台的。此外,在后台系统加入了中间件验证,如果不输入账号密码而通过URL地址栏的方式进入系统主页是不可行的,这一点有力的提升了网站后台的安全性。4.1.3控制面板控制面板的作用其实就像一个数据监控系统,这里引用了echarts的

41、第三方插件,实时监测的数据包括有用户增长数量的折线图,平台发布资源数量的统计折线图以及各种类别下的资源数量统计饼状图。每月用户数量增长折线图,如图4.1.-7所示图4.1-7每月用户增长折线图4.2材料成型设备内容添加4.2.1材料成型设备类别添加材料成型设备类别的添加目前添加的内容主要为大学生主要教材材料成型设备中的常见设备类别,如轧制机械设备、连续铸造设备、制管设备、塑料成型设备、锻压设备和焊接设备等主要的材料成型设备,后期的材料成型设备分类添加未解决工作量大的问题,采用网络爬取的方式将网络开放平台中材料成型设备的类别名称抓取并录入。内容如图4.2-1所示图4.2-1材料成型设备类别4.2

42、.2材料成型设备资源内容添加管理员在添加完成材料成型设备类别之后可以前去资源管理添加要在平台上分享的资源内容,在添加资源内容之前需要先选择材料成型设备的类别,之后再添加对应的内容,这样做的好处是为了方便用户在材料成型资源库的前台搜索资源时方便根据标签搜索,其内容的添加如图4.2-2所示图4.2-1材料成型设备内容添加5 前台功能介绍5.1首页材料成型设备课程在线资源库的首页是由静态Html+CSS+Js组成的静态页面,页面中主要分为三个部分:5.1.1首页功能首页功能:在首页的左上角会有一个首页按钮,点击则会跳转到首页的界面,这个按钮会出现在整个平台的各个页面,无论在首页、列表页、还是在个人中

43、心,点击过后都会回到首页。5.1.2登陆注册页面右上角有一个“登录/注册”的组件按钮,登录界面由form表单和Ajax共同完成登录功能,经过form表单提交的数据内容,经由Ajax提交到后台控制器进行数据库信息比对验证,从而达到登录的目的。除了输入账号和密码进行登录之外,平台也提供了第三方登录方式,即QQ登录。如果是第一次使用平台的用户可以点击注册,之后会进入到注册页面,利用手机短信验证的方式进行注册登录,获取到手机发来的短信验证码之后,用户输入自己的姓名就可以进行登陆操作了,登录成功之后,这里会采用Session会话机制,把登录的用户信息存储在Session的一个数组中,系统在监测到信息的存

44、在后会自动提取其中的信息并展示在页面中,这时候原来的“登录/注册”按钮就会变成用户的个人信息,点击退出登录,系统会将缓存机制中的个人信息抹杀掉,一旦信息清除,则会变成“登录/注册”按钮。5.1.3验证方式手机验证:手机短信验证码发送我们这里采用的是极光短信的平台短信发送。作为第三方的通讯商,需要去官网(1) QQ登录:QQ登录是腾讯公司旗下QQ互联业务推出的官方开源的第三方登陆接口,使用QQ登录可以为用户省去填写账户和密码的时间,极大地提升了用户体验。其原理如下:a. 首先需要我们去QQ互联(b. 当用户点击QQ登陆的时候,系统会根据官方SDK文件内的路径跳转到获取QQ信息的界面,当我们点击我

45、们的QQ头像之后,信息会自动获取,获取成功之后会把其中的openID和我们后台数据库中的openID进行比对,如果存在证明这个用户之前已经使用过QQ登录,这个时候我们只需要把数据库内符合的信息拿出来即可,如果不存在则证明用户是第一次使用QQ登录,那就需要把数据存入到我们后台的数据库,然后把获取到的信息返回并把信息存储到Session中,登录成功。5.2搜索列表页5.2.1材料成型设备类别搜索用户在首页输入搜索材料成型设备关键词后,如吹塑成型,系统会把关键词和数据库内的资源进行比对搜索,搜索之后会跳转到搜所列表页,如果用户再搜索的时候选择了类别,则跳转的列表页为单列表页,显示的只是该类别下的符合

46、搜索关键词的内容;如果没有选择类别进行搜索的话则跳转的是多列表页,系统会把所有类别下的所有符合搜索关键词的内容都呈现出来,各个类别下的内容会区别开来展示,用回点击更多则可以查看更多关于给类别下的资源内容,单机某一个资源标题即可进入到内容页。5.2.2材料成型设备类别搜索结果组成考虑到一次录入的资源内容有限,用户在平台上搜索的材料成型设备资源除后台手动添加的资源内容之外,平台也会根据关键词对慕课和中华资源库内的相应的关键词搜索其中的内容并返回到平台中并展示出来,内容形式如图5.2-1所示图5.2-1搜索列表页面5.3文章内容页单击其中某一篇资源标题即可进入文章内容页,文章内容页展示的内容即为管理

47、员在后台添加的资源内容,由于后台是使用富文本编辑器所添加的,所以在前台展示的时候需要进行转义展示,在内容页可以对当前的资源内容进行收藏和下载,但是,在收藏和下载的时候必须在登录状态下进行操作,如果没有登录点击收藏或者下载,会跳转到登录页面,登录成功之后才可以收藏和下载,收藏和下载的内容会在个人中心里面体现出来。5.4个人中心个人中心属于用户的个人信息展示,记录了用户的个人信息,我的收藏、我的下载和我的留言等内容1.个人信息里面记载了用户的基本信息,用户在这里可以更改自己的姓名,性别,手机号等基本信息2.我的收藏里面记录了用户在平台上面收藏的所有资源信息,包括收藏的资源标题、内容简略和时间等信息

48、,点击查看依旧会是跳转到搜索内容页,3.我的下载里面记录的是用户在平台上下载的所有资源信息,包括下载的资源标题、内容简略和时间等信息,点击查看依旧会是跳转到搜索内容页,4.我的留言是让用户来给后台管理员留言的版块,比如说用户想要哪一类的资源信息在平台上面没有搜索到,或者是对平台有什么意见会或建议,可以在这里留言,留言成功后,管理员在登录后台后会收到这些留言信息,而管理员也可以回复这些留言,用户在前台也可以收到这些回复。6 系统安全性设计6.1PHP开发中SQL注入的产生当我们做好一切准备工作,且将开发出的代码进行整合部署在服务器上的时候并不意味着我们的网站已经开发完成了,因为里面还有很多潜在的

49、安全隐患。其中最重要的一项就是sql语句的恶意注入,因为数据库是一个网站的存在根本,里面存放着网站所需要的全部数据,一旦有人通过sql语句注入的方式恶意攻击网站,那么后果将不可设想。恶意sql注入的产生其实就是一些恶意攻击网站的人通过sql语句的不规范行,采用了一些伪安全机制来骗过sql语句让sql语句以为这是一条正确的sql语句操作,从而达到sql注入的目的。6.2 PHP中SQL注入的形式SQL注入攻击的主要方式是通过模拟出和目标sql语句相同的语句结构,再和网站中需要的数据结合起来,使用常见的insert、update和delete等语句来操作网站数据库,从而达到了恶意攻击数据库的目的。

50、其中最主要的方式是利用两个数值恒等于(=)的方式来让 sql语句以为是正确的操作,因为两个一模一样的数值恒等于的最终结果是true,sql语句对于true的结果通常都是执行的操作。1) 经典的or 1=1 注入一般用来进行对密码验证类的sql语句进行sql注入攻击,它注入的原理是对原有的sql语句以“or 1=1”的结构来绕过sql语句对输入的密码的判读,or的意思就是除了原有sql语句的 内容验证之外,也可以使用“1=1”的验证方法,然而“1=1”的最终结果是true,所以对于true sql语句是会执行下去的,最后sql注入的目的就达到了,通过恶意注入的方式避开了原有的密码验证直接登录网站

51、了。正常语句:delect * from admin where login-name = $username and login-pwd = $password注入语句:select * from admin where login-name = ac and login-pwd = or 1=1sql语句中admin是表名,包含有admin-id、login-name、login-pwd和role等字段,分别表示了用户ID、用户名、密码和权限等级。这条注入语句利用了1=1这个恒等式作为逻辑判断,使得即使后面的login-pwd判断为假,1=1的最终结果也是true,从而不使用密码也可以登录

52、。2) UNION语句注入式利用其语句特性,是程序默认的语句,他会在语句执行后将所有的结果与攻击者所执行的恶意sql语句执行出来的结果合并到一个结果里面返回到注入者,达到sql注入注入的目的。6.3 SQL注入的防范6.3.1对输入的数据进行过滤对于动态构造SQL查询的场合,可以使用替换字符和删除特殊字符的方法。替换字符是把所有单独出现的单引号改成两个单引号,以防止攻击者修改SQL命令的含义。删除特殊字符,是防止攻击者构造出类似“select * from admin where login-name = zc and login-pwd =”之类的查询,因为这类查询的后半部分的密码已经不重要

53、了,注入者只需要知道一个用户名就可以利用sql注入的方式绕过密码验证从而直接登录网站。 1.对用户输入账号的验证,防止恶意数据的套用,用户验证可以分为客户端验证和服务器端验证,客户端验证即前端验证,当用户在输入完成账号时,系统就会和数据库内的数据进行验证,此为第一关验证,第二关验证即服务器端验证。以此两大验证,达到过滤非法数据的目的。2.在数据库中限制字段长度,对一些特殊字段或者是使用频率较高的字段限制其数据长度,给恶意攻击者注入时增加难度。3.对一些敏感字段加密,在数据库里面我们可以对一些账户、密码等诸如此类的敏感字段做加密处理,正常的登录验证时会把提交的数据进行加密比对,正确无误后即可登录

54、成功,在一定程度上,给注入者增加难度。 6.3.2对发送到数据库的数据进行转义1.打开magic_quotes_gpc或 magic_quotes_runtime 配置打开magic_quotes_gpc配置,并关闭错误提示display_errors=off,不给sql注入者提供敏感数据信息,这样所有的客户端GET和POST的数据都会自动进行addslashes转义处理,使得网站数据库的SQL注入不可行。1.1使用PDO连接数据库防止SQL注入者攻击最好的方法就是不要把sql语句和参数数据直接写出执行,而是用PDO操作数据库的prepare和bind,PDO操作数据库的执行原理就在于要把SQL的语句结构和执行的参数分开。使用prepare的时候,DB server会把SQL语句解析成SQL命令。使用bind的时候,会把传递的参数传输到解析完成的sql语句里面。 1.2使用预处理语句经常使用的sql语句预处理技术,最初也是由MySQL提出的一种减轻服务器压力的一种技术,传统的MySQL处理流程:1) 在客户端准备好需要执行操作的sql语句结构2) 把sql语句发送到MySQL数据库服务器3) 在MySQL数据库服务器执行该sql语句这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论