本站小编为你精心准备了重点实验室网站设计与开发参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1.网站设计
1.1功能设计本系统包括前台和后台两大模块。前台用于信息的展示和资料的下载,包括实验室概况、实事新闻、公告通知、科研队伍、实验设备、基金申报等功能模块。这些功能模块将最新的信息,最新的研究成果,以及科研项目申报信息及时地向外界。达到宣传实验室,吸引国内外学者来实验室进行学术交流和合作研究的目的。后台用于网站的日常管理、安全和维护,主要实现了用户管理、新闻管理、研究队伍管理、上传下载管理等功能模块。
1.1.1用户管理用户管理包括用户注册、用户登录、用户权限分配、用户密码修改。浏览网站的游客,可以通过网站注册入口注册新用户,然后在登录入口登录后可以发表评论和执行其他操作。对于管理员,系统将管理员分成三个等级。三级管理员可以登录到网站后台,能够发表新闻、添加公告、研究成员信息和添加实验设备信息,但是所有添加的信息都需要更高级管理员审核。二级管理员能够审核三级管理员的信息,也可以直接添加信息到前台。一级管理员除了具备二级管理员和三级管理员的权限外,还能够管理所有管理员,包括修改管理员信息、修改管理员密码、查看管理员的登录信息和信息。
1.1.2新闻管理新闻管理包括新闻添加、新闻审核、新闻修改、新闻删除。新闻添加功能不仅能够添加新闻,而且可以公告和实验室概况等信息。在添加时要求必须输入新闻的标题和新闻的内容,其中新闻的内容通过文本编辑控件输入,然而不是所有的新闻都能够直接到网站前台,为了防止不良信息的上传,还需要高级管理员对上传的新闻进行审核后才能够显示到前台。对于有问题或过时的新闻,管理员可以通过后台管理实现对新闻的修改和删除操作。
1.1.3研究队伍管理研究队伍管理包括成员个人信息添加、个人信息修改、个人信息删除。研究队伍的管理和新闻管理类似,不同的是研究队伍信息分为多类,值得注意的是为了避免数据库数据添加错误和前台界面的美观,成员性别、成员图片、成员著作这一系列信息需要严格的输入格式控制,如成员性别只能设置男和女两个选项,成员著作的输入需要省略书名号等。
1.1.4上传下载管理上传下载管理包括文件上传、文件删除。为了方便实验室的管理,实验室网站提供浏览用户下载功能。管理员可以通过后台管理系统,上传限定格式的文件供学生、老师们下载,当然也可以对不合要求或过期的文件进行删除。
1.2技术设计在实验室网站的开发过程中,数据库的连接、新闻的添加等功能需要频繁使用,而且当数据库设计发生改动或实验室网站功能需要优化时,网站代码需要随之更改,为了使网站系统便于拓展,便于维护,便于修改,系统科学重点实验室使用三层架构理念来实现其基本功能,使实验室网站数据库连接、功能实现、界面显示分别通过数据访问层、业务逻辑层和应用层来实现。数据访问层主要负责网站和数据库的连接,实验室网站的数据连接效率及数据访问安全性是网站开发的核心,同时实验室网站系统的数据库存储着用户及实验室成员的基础信息,因此数据访问层的设计关系着网站的稳定性及安全性,是开发者需要重视的模块。网站系统数据访问层的设计包含五个类,分别是OperateDB类、News类、Members类、Device类、File类,这些类都是通过ADO.NET与数据库建立连接的。OperateDB类为另外四个类的基础,供其他连接数据库的类使用,它包含Exe-cuteNonQuery方法、ExecuteDataSet方法、ConnectionString属性。ExecuteNonQuery方法为void型,用于执行该方法传入的SQL语句字符串的操作,其它类要执行SQL语句可以直接调用OperateDB类下的该方法。ExecuteDataSet方法有返回值,该方法将SQL语句的查询结果通过DataSet形式返回,从数据库读数据在前台显示新闻时需要该方法的支持。ConnectionString属性返回网站系统连接数据库的连接字符串。其他四个类分别为系统与新闻、成员、设备、文件数据库之间的连接类,比较类似,这里通过News类的介绍来了解这四个类的作用。News类通过设置五个方法实现对数据库中新闻表的添加、修改、查询、删除和更新操作,分别为NewsAdd方法、NewsModify方法、News-Found方法、NewsDelete方法、NewsUpdate方法。这些方法为新闻的一整套管理系统打下基础,即使新闻数据库字段发生更改或者功能需要优化,开发者可以简单改动数据访问层的该类来达到想要的目的。业务逻辑层是数据访问层和应用层的过渡,既继承了数据访问层的数据连接功能,又为应用层的实现打下基础。除了要完成数据的基本操作外,业务逻辑层还要审查输入的字符串是否符合要求,如检查用户名、密码、邮箱等的输入是否正确并屏蔽非法字符,以防止SQL注入,同时通过调整业务顺序减少数据库访问频度。该层的设计包含五个类,分别是NewsLogic类、MembersLogic类、DeviceLogic类、FileLogic类和TextCheck类,前四个类的方法是数据访问层类方法的直接封装,TextCheck类主要用于对输入字符的检验,是为系统安全而设计,包含四个方法,分别是UsernameCheck方法、PasswordCheck方法、E-mailCheck方法、TextCheck方法。UsernameCheck方法用于注册时用户名的检测,当用户输入的用户名已经存在时,注册会失败,系统提示用户名已经存在,当用户名为非法字符时,系统会提示用户名包含非法字符。PasswordCheck方法用于密码输入的检测,当用户注册或登录时会调用该方法,该方法限制用户输入的密码只能为字母或数字,当输入非法时不执行数据库访问操作,防止代码注入而且减少了对数据库的访问。EmailCheck方法用于检测注册时邮箱输入是否规范。TextCheck方法用于文本框输入时非法字符的检测,新闻标题、成员信息等的输入都要通过该方法检测后才能存入数据库。应用层为网站系统面向用户的层,主要为用户提供方便美观的浏览页面。用户直接接触的就是应用层,一个好的实验室网站除了要有完善的功能还要有美观的界面。网站首页导航栏包含实验室概况、时事新闻、公告通知、管理条例、研究队伍、实验设备、基金申报七个栏目,分别介绍实验室的概况、实验室最新新闻活动、实验室通知公告、实验室的条例准则、实验室研究成员基本信息、实验室已有的实验设备信息和基金申报事项及文件下载。对于首页公告通知的显示,通知信息通过流动方式轮流显示最新通知事项。七个栏目的二级页面设计类似,左边为次级导航栏,右边为的新闻或其他信息,而且都是通过分页显示,不同的是时事新闻、公告通知栏目显示的是新闻或公告的标题,而研究队伍和实验设备显示的是成员或设备图片。网站系统除了简单的显示新闻、通知的具体信息外,还在三级页面显示人、点击量等用户关心的信息。
1.3安全性设计网站威胁常见的一种就是文件上传漏洞,文件上传漏洞就是对用户上传的文件类型判断不完善,导致攻击者上传非法类型的文件,从而对网站进行攻击。我们通过对每一处要上传的模块进行严格的判断,图片只能上传jpg、JPG、jpeg、JPEG等格式的文件,新闻只能上传doc、pdf、xls等格式的文件,同时对调用的文本编辑控件的文件上传功能进行设置并修改上传路径,这样可以防止黑客恶意上传程序等文件威胁网站安全。网站管理员登录密码的安全性也是网站安全不可忽略的重要点,黑客可以通过SQL注入等意想不到的方式获取服务器端数据库数据从而得到管理员密码,进而破坏网站,但我们通过密码学散列算法(如:SHA-1)对管理员注册密码进行哈希,数据库中存储密码的散列值,即使黑客获得数据库存储的哈希值,也无法使用该值登陆。如果管理员账号密码泄露,网站安全将受到严重威胁,因此管理员的分级功能就至关重要。在网站众多功能中,低级别的管理员只能管理部分功能,高级别的管理员可以管理低级别的管理员。在我们完全信任最高级别的管理员的假设下,即使低级别管理员账号泄露或低级别管理员自己恶意攻击网站,其并不能对网站安全产生足够大的威胁。同时,我们还采用了登录日志来识别对网站攻击的发生。如果黑客恶意攻击网站使网站安全受到威胁,我们可以通过每一次登陆时记下的登陆账户信息、ip地址及登陆后的操作来判断攻击网站用户,然后将其处理,防止攻击再次发生。
2.数据库设计
SQLSever2008是Windows上最广泛应用的关系型数据库,具有操作简单、成本低、开发周期短等优点,其性能和安全性方面完全能满足重点实验室网站的需求,因此选择了在Win-dows操作系统下极具优势的SQLSever2008作为后台数据库。数据库主要存储用户信息、添加的新闻信息、上传的文件信息、开放的设备信息、研究队伍信息、登录日志信息。管理员通过后台管理模块向各个数据表添加信息;前台展示页面根据固定的业务逻辑从数据库读取信息,或按用户的查询要求动态地从数据库读取特定的信息。具体的数据表如下:用户基本信息表包含字段有:用户id、用户名、昵称、密码、性别、用户权限、邮箱、用户备注;新闻信息表包含字段:新闻id、新闻标题、新闻分类、上传用户id、上传时间、新闻内容、添加的图片地址、点击量;上传文件表包含字段:文件id、文件名称、文件分类、上传者、上传时间、下载量;开放设备表包含字段:设备id、设备名称、设备图片、设备简介;研究队伍表包含字段:成员id、成员姓名、成员性别、成员图片、成员简介;日志管理表包含字段:日志id、登录用户id、登录时间、登录ip地址。新闻信息表中的上传用户id与用户信息表中的用户id对应,管理员添加新闻时,系统把通过session保存的登录用户id存储到新闻信息表中的上传用户id。日志管理表中的登录用户id与用户信息表中的用户id对应,用户登录时,系统自动将用户id存储到日志管理表中的登录用户id列。
3.结语
本网站系统采用ASP.NET技术,基于网站的功能方面和安全性方面设计,方便了实验室的日常管理,同时也利于实验室的对外宣传与交流合作,而且网站采用三层架构设计,提高了网站运行效率,也方便后续网站的优化。本实验室网站满足了实验室日常管理需求,不过随着实验室的发展,对网站功能的需求会不断提高,网站的后期维护也十分重要。另外,作为大学生创新项目,既锻炼了大学生的实践能力、创新意识,同时也受到了科学研究的熏陶。
作者:尹凯凯 黄驿博 单位:武汉科技大学 理学院