网站设计论文

您当前的位置:学术堂 > 计算机论文 > 网站设计论文 >

设计流程网站登录及注册功能

来源:学术堂 作者:姚老师
发布于:2016-08-05 共2886字

    本篇论文目录导航:

【题目】框架模式下工作流程网站开发探究
【第一章】企业信息化框架式网站建设研究绪论
【2.1 - 2.3】利用微信企业平台建立流程网站的会知技术
【2.4】使用框架技术开发流程网站
【第三章】流程网站前台页面显示技术
【第四章】组建网站开发环境与运行环境
【5.1】流程网站设计流程核心模块
【5.2 5.3】流程网站建立流程的审批功能
【5.4 - 5.7】设计流程网站登录及注册功能
【总结/参考文献】生产企业流程网站设计与实现研究总结与参考文献

  5.4 实现流程网站数据 Excel 导出

  程序主要通过循环写入方式导出 Excel 文件。在导出前,先设置了文件标题、单元格格式,然后写入数据,最后设置列表宽度。为防止文件名中文乱码采用 urlencode 函数。如果导出行数过多,一般不超过 500 行,考虑到效率,不建议去设置每个单元个的字体格式。

  5.5 设计流程网站登录及注册功能。

  一个系统的登录界面是该系统的入口,这是系统的第一道防线。如今网络技术飞速发展,黑客的非法手段也层出不穷。黑客出于个人兴趣和利益的驱动,经常将系统中存在的某些漏洞挖掘出来并加以利用,借以获取相应的利益。在 Web 应用中,对程序中的 SQL 注入漏洞是最为明显的,这也是我在系统安全设计中要重点考虑的。所谓 SQL注入,就是通过将 SQL 命令加入到 Web 表单进行提交申请、或者借助输入域名和页面请求的方式进行查询字符串,借以达到欺骗服务器执行恶意的 SQL 命令。有试验表明,在参与测试的 1000 个网站中进行搜索取样测试,发现其中 15%的网站有 SQL 注入漏洞存在。

  SQL 注入是通过拼接特殊的字符作为参数传入后台应用程序,这些输入基本上都是数据库语法里的一些组合,通过程序正常执行 SQL 语句进而执行攻击者所要的操作目的,其主要原因是当初设计程序的开发人员没有细致地过滤用户录入的数据,导致不合法的数据录入系统。

  根据相关技术原理,SQL 注入可以分为两种:一是代码层注入,另一种是平台层注入。代码层注入主要是由于程序员对数据未进行充分地过滤,导致数据库执行了意外的数据查询;平台层注入而是由数据库软件漏洞或不安全的数据库配置所致。由此可见,常见 SQL 注入的原因可以通过以下几方面表现:不合适的处理转义字符;类型处理不合理;数据库配置不安全存在疏忽;查询集处理不合理;错误处理不当等。

  由于 Zend Framework 本身就考虑到 sql 注入问题。系统中凡是牵涉到 SQL 语句的,我基本都采用了 Zend Framework 所推荐的方法:添加引号防止数据库攻击。

  这里主要有 2 种:

  第一种是利用 quote() 方法。该方法可以根据数据库 adapter 为标量添加上对应合适的引号,当需要对一个数组进行 quote 操作时候,它将给数组当中的每个元素都加上引号,并使用","分隔来返回。

  第二种是 quoteInto() 方法。该方法是提供一个基础字符,该基础字符包含问号等在内的占位符等,通过在该位置加入带引号的标量或者数组。该方法对需要构建查询 sql语句和条件语句等很有帮助。开发人员在使用 quoteInto 处理标量和数组时,返回的结果与采用 quote()方法相同。

  服务器端先获取前台客户端用户提交过来的两个参数,一个是用户名变量:$id,还有一个就是用户密码变量:$pwd.这里先不急于把两个参数同时提交给后台执行查询。

  而是采用先去查询用户名是否存在,如果存在,再进行密码的比较。如果不存在直接返回登录界面并给出报错信息。由于数据库中密码是采用 MD5 加密方式存储的,所以比较时要对用户输入的密码进行一次 MD5 编码运算,如果匹配成功,将用户的基本信息写入本机 session 中,便于以后读取用户信息,然后跳转到系统的主页。如果不成功,直接返回登录界面并给出错误代码。这样设计的好处就是在登录不通过时,服务器可以明确的给出登录用户到底是用户名输入错误还是密码有误。

  在用户注册时,前台运用 AJAX 做了多次动态验证,只要任意一个必填信息为空或者出错时,提交按钮将始终不能按下,并及时给予相关报错信息。并且在后台也有相对应的验证过程,以防止非法用户绕过前台上传提交表单。

  网站的其它安全防范由于 Zend Framework 所有的动作都是经过控制器运行的,所以任何一个跳转都会先经过后台服务器运算后再发送给前台客户端。这样就可以防止用户在知道网址后通过直接输入网页地址的方式非法访问部分本没有权限进入的页面了。

  首先,先开启 session,如果是合法用户,势必在系统登录成功后计算机会在系统中生成一个 session 文件。服务器找到这个特定的 session 文件后方可进行接下来的操作。

  如果一名非法用户在没有用户名和密码的情况下,想登录系统,但他知道某个页面的URL 地址,于是他输入了 URL 打算跳转到该页面。这样做没有通过系统登录界面验证,就不会生成session文件。于是服务器就果断将地址跳转到index页面即系统的登录页面,非法用户会无奈地再次回到系统登录页面。

  5.6 设计流程网站权限功能。

  系统建设过程中权限控制是较难进行的工作,从理论上来讲,针对不同的角色创建对应的网页是可行的,但在实际操作中却难以令人接受,当两个角色的权限或功能差距只有细微差别时来创建两套页面对于开发人员和系统资源消耗上来讲,都是不能接受的事情,这样的架构设计不仅将带来工作量成倍的增长,还带来系统资源过度消耗,也为后期的维护带来隐患,增加维护工作的工作量,因此,开发一套能够针对不同的角色都能够通用的接口网页就变成一种需求。

  刚开始我们使用的是每个用户都有一个 grade 的字段来控制其各种各样的登陆,浏览,编辑等权限,在使用者越来越多,权限变化越来越多样化之后,我们认为一个单一的 grade 权限编辑并不能完成每个人的权限。所以在之后设计的时候就开始考虑以每个用户、每个页面、页面上关键元素为单元,进行系统权限的设计。这样非但能精确到每个页面权限,并且可以满足最完整的人员与页面相关的权限结构。在这里只要使用两张简单的表来实现。一张是权限说明表,另一张是权限明细表。权限说明表主要是说明权限的编号和定义说明。权限明细表是记录用户具有哪些权限的。

  5.7 运用网站数据分页技术。

  在网页数据显示中,许多查询出来的数据需要以表格的形式来显示。这些数据量通常比较大,如果一下子全部展现给客户端显示,不仅难以查找,而且还容易看错不友好,最重要的是会给网络增加一定的负担。这时候就要采用分页技术来减小网络吞吐量。何为分页技术呢?分页技术是将所有数据分段展示给用户的一种技术。用户所看到的并不是全部的数据,而是提前经过筛选的其中一部分,用户如果在显示数据中没有查找到自己所想要的内容,则可以通过制定页码或者是翻页的方式继续查找或转换可见内容的形式来找到自己需要查看的内容。[10]

  分页技术确实有效,但同时也会在一定程度上提高系统的复杂度。当数据量少的时候可以不进行分页,但对于企业信息系统来讲,数据量通常不会限制在某一个小范围当中,如果全部使用 Select * from 查询某个表,并将返回的数据全部反馈给客户,将引起顾客的反感,也会提高网络的负荷和服务器的负荷,严重情况下甚至会引起服务器宕机。

  其实查询出来的大部分数据并不是用户所需要的。但通过分页可以在一定程度上加快用户的查询速度。

返回本篇论文导航
相关内容推荐
相关标签:
返回:网站设计论文