




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
校园二手书交易系统的设计与实现毕业论文目录中文摘要I英文摘要II 1 绪论51.1二手交易平台的开发背景及意义51.1.1开发背景51.1.2开发意义61.2 国内外研究现状61.2.1国内研究现状61.2.2国外研究现状71.3 系统目标72 开发环境与开发工具82.1 开发结构与开发语言及工具82.1.1 开发结构82.1.2 开发语言及工具82.1.3电子商务的安全架构122.1.4 IIS配置142.2开发及运行环境152.3MD5加密技术152.3.1算法描述162.3.2算法的应用163 需求分析与开发技术要点183.1系统功能分析183.1.1系统综述183.1.2用例分析193.1.3系统结构分析203.1.4可行性分析243.2系统结构设计253.2.1系统模块设计253.3 数据库分析及设计264 详细设计与系统实现中的技巧和方法304.1 模块的功能设计304.2 所有功能的实现324.2.1 用户登录的实现324.2.2 发布商品信息344.2.3 修改信息434.2.4 查看信息504.2.5 管理信息524.3 小纸条功能的实现544.3.1 写小纸条544.3.2 查看已收到的小纸条564.3.3 未读小纸条585 系统测试595.1 信息发布模块测试595.2 小纸条模块测试60总 结62致 谢64参考文献651 绪论1.1二手交易平台的开发背景及意义1.1.1开发背景人类社会经历了从野蛮到文明、从原始社会到社会主义社会、从使用简单石头工具到现在使用智能化工具的过程,生活水平不断提高,逐渐有了从物物交换到以货币为等价物的交换,经历了一个由低级到高级的过程。目前,随着现代互联网的发展,一切行业都借助网络得到了快速发展,传统的二手交易市场也随之发展,但开始出现一些无法回避的弊端:1、交易过程困难。传统的二手交易市场需要提供交易场所进行交易,需要通过跳蚤市场或是贴广告作为交易的中介,时间和地点的不稳定性提高了交易的困难度,想要成功进行交易变的非常困难。2、信息流动滞后。对于买方想要获得二手交易市场的商品信息必须跑去跳蚤市场或是寻找公告板上张贴的广告。而对于卖方想要使自己想卖的物品信息传播出去要么破费去张贴广告,要么就是节假日去跳蚤市场摆摊。信息传播具有较大的滞后性。3、网络利用率低。随着现在电子信息化的开展,网络的建设已经进入一个更加高速发展的时期,传统的二手交易市场没有充分利用这些现有的网络设备资源。随着计算机技术的飞速发展,网络应用的普及,利用网络构建二手交易平台势在必行。二手交易平台的目标是借助现代互联网,实现商品交换,以改变传统上商品交换的弊端,促使二手市场以更快的发展,赋予其时效性、快速性、简单性、可信性等特点。该平台是服务于在校学生。学生可以利用此平台,将自己不用的物品,发布到系统上,其它同学可以查看已发布的信息,从而可以更好地促进物品交换。1.1.2开发意义校园交易网,定位于本校学生,人数多,没有竞争,很容易存活。由于在本校范围内,推广、宣传也很容易,几乎零成本。现在的学生紧随潮流,物品更新速度很快,需求也很大,这是网站可生存的一大优点。同为一校之生,双方有意向后可以直接面谈,弥补了网上购物受欺骗的风险。此网站可极大地方便同学,为大家解决很多问题,所以必会深受同学们的喜爱。如今很多学校有购物节,但这种活动时间短,只会起到一时的作用。而校园交易网站可以给大家提供一个平台,允许大家每天都可以在线买卖,在个别学校已经有这样的网站,但在咱们学校还没有这样的网站。所以网站会深受大家的好评,成为大家生活中不可缺少的东西。对于在校学生,二手交易平台有更为重要的意义。一般而言,现在的学生还没有自食其力,大都需要父母的财力支持。现在的孩子,尤其是大学生的花费更多,平时吃好、喝好、用好奉行“三好主义”,而殊不知父母的沉重负担。在更多的时候,我们有很多东西都没用处,一直闲着,或扔掉或舍不得存着。对这种情况,我们一般选择前者扔掉。这时,如果大家能把不用的物品拿出来交换,就会共赢。借助此平台可以发布商品信息、求购信息,也可实现在线交易,方便学生之间物品互换。借助网络的普及,可以节省学生的花费,树立大学生新的理财观。1.2 国内外研究现状1.2.1国内研究现状在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。现在随着网络的不断发展,上网购物已成为一种趋势。国内外大型的购物网站分为两大类,一为B2C,即商家对客户,比较典型的有卓越,当当,京东商城等;二为C2C,比较典型的有淘宝等。随着网络技术的发展,近期的团购活动也掀起了一场网上购物的浪潮。1.2.2国外研究现状在国外,以欧美国家为例,可以说电子商务业务开发的如火如荼。在法、德等欧洲国家,电子商务所产生的营业额已占商务总额的1/4,在美国则已高达1/3以上,而欧美国家电子商务的开展也不过才十几年的时间。在美国,美国在线(AOL)、雅虎、电子港湾等著名的电子商务公司在1995年前后开始赚钱,到2000年创造了7.8亿美元,IBM、亚马逊书城、戴尔电脑、沃尔玛超市等电子商务公司在各自的领域更是取得了令人不可思议的巨额利润。欧美国家拥有电脑的家庭,企业众多,网民人数占总人口的2/3以上,尤其是青少年,几乎都是网民,优裕的经济条件和庞大的网民群体为电子商务的发展创造了一个良好的环境。普遍实行信用卡消费制度,建立了一整套完善的信用保障体系,这为电子商务的网上支付问题解决了出路。欧美国家的物流配送体系相当完善,正规,其是近年来大型第三方物流公司的出现,使的不同地区的众多网民,往往能在点击购物的当天或转天就可收到自己所需的产品,交易类网站深受欢迎。1.3 系统目标二手交易平台将集成三大系统:前台信息浏览系统、用户管理系统、后台管理系统通过二手交易平台的设计,实现本系统的五大目标:(1)、给用户提供便捷的商品浏览服务,快速的商品检索服务。(2)、通过个人用户面板模块,使用户能够快捷地进行商品信息的发布、编辑,管理个人信息,查看购物车等功能。(3)、通过站内小纸条和留言板功能,给用户提供一个交流的平台。(4)、通过后台管理系统,管理员能够方便的查看、修改、删除用户资料,管理留言,管理订单,网站记事本等等。(5)、系统的上线,给大学生商品交换带来一次新的跨越,带来庞大的客户群。2 开发环境与开发工具2.1 开发结构与开发语言及工具2.1.1 开发结构系统选用B/S结构开发, 在B/S结构下,客户端只需要安装Web浏览器就可以使用系统。B/S结构有可分布应用、可跨平台应用、容易部署和管理、使用简单、易于集中维护、保护现有投资、信息共享度高、扩展性好、广域网支持、安全性好等优点。如今云计算(Cloud Computing)技术已大规模应用在各个领域,将来的B/S结构的系统大部分的处理逻辑都会放在云端服务器,大大降低了客户端机的配置需求,所以B/S结构的系统发展前景非常可观。2.1.2 开发语言及工具ASP (Active Server Page) 是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的Web应用程序。与HTML相比,ASP网页具有以下特点:1) 利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;2) ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;3) 服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;4) ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从Web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向Web浏览器发送信息;5) ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。6) 由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。7) 方便连接ACCESS与SQL数据库。8) 开发需要有丰富的经验,否则会留出漏洞,让黑客利用进行注入攻击。ASP也不仅仅局限于与HTML结合制作WEB网站,而且还可以与XHTML和WML语言结合制作WAP手机网站,但是其原理也是一样的。 ASP的工作原理:当在Web站点中融入ASP功能后,将发生以下事情: 1) 用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。 2) 浏览器向服务器发出请求。 3) 服务器引擎开始运行ASP程序。4) ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。 5) 页面信息发送到浏览器。ASP优点大概可以归纳如下:1) 您可以用 VBScript 或JScript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于 VBScript和JScript,使用哪种语言并不重要,Web 服务器等同地处理这两种语言,并向用户的浏览器发送 HTML 格式化结果。2) 因为ASP采用Script语言(VBScript和JScript)就可以轻松编写程序,因此这就大节省了网络设计人员又得重新学习一种新语言的时间。而且编写ASP无须手工compile编译或链接程序,可在服务器端直接执行,这无疑是更加方便了我们的编写过程。3) 使用普通的使用记事本之类的文本编辑器,即可进行编辑设计,如:Windows的记事本,建议不要用FontPage98或 DreamWeaver2.0等主页制作软件修改,因为他们会破坏源代码的,在这里我建议使用CuteFTP携带的CuteHTML编辑器进行编辑设计。4) ASP是运行在服务器端,所以我们无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。5) ASP能与任何ActiveX scripting语言相容。除了可用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如Perl、Tcl等,脚本引擎是处理脚本程序的COM(Component Object Model)组件。6) Active Server Pages的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。7) 可使用服务器端的脚本来产生客户端的脚本。8) 面向对象(Object oriented),并可扩展ActiveX Server组件功能。9) ActiveX Server Components(ActiveX服务器组件)具有无限可扩充性。你可以使用任何编程语言来编写你所需要的ActiveX Server 组件。10) ASP优点是可以通过ADO(ActiveX Data Objects),微软的一种新的数据访问模型,是一种可以提供Web页面开发者轻松存取Internet的数据库,并可以在用户端实现网上立即、即时更新显示的最新Web页面数据库技术,非常方便地访问数据库,从而使存取数据库变得轻松容易。Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户”则能使用它来开发简单的应用软件。虽然它支援部份面向对象技术,但是未能成为一种完整的面向对象开发工具。Access的主要用途:Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序。这些应用程序都利用ASP技术在Internet Information Services运行。比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server。它的使用方便程度和强大的设计工具为初级程序员提供许多功能,不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。一些专业的应用程序开发人员使用 Access 用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透过网络存取数据的话,Access 的可扩放性并不高,因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如 Oracle、DB2、 Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括 JET(档案为主的数据库引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。很多开发者都使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个DBMS实施的规章。Access的优点:1) 存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 2) 面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 3) 界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 4) 集成环境、处理多种数据信息。Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 5) Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接,利用数据库访问网页对象生成HTML文件,轻松构建Internet/Intranet的应用。2.1.3电子商务的安全架构二手交易平台作为电子商务平台典型的代表,那么它理所当然拥有着电子商务的特点。电子商务通常是在因特网开放的网络环境下,基于浏览器服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。电子商务主要是以EDI(电子数据交换)或INTERNET来完成的,随着INTERNET技术的日益成熟,电子商务真正的发展是建立在INTERNET技术上的。那么设计电子商务网站除了考虑到普通网站的设计与规划,更因为电子商务网站设计到交易等问题,所以存在着较大的安全问题。电子商务首先是基于网络的,对于网络,设计时应该注重的安全性有:从服务器的角度考虑,Web服务器本身存在着安全威胁,Web务器存在着漏洞使得恶意用户能侵入到主机系统,破坏一些重要的数据,甚至造成系统瘫痪。从客户端考虑,如今Web应用的客户端安全威胁越来越明显,因为在客户端网页中,会应用一些活动内容,网页的活动内容是指在静态网页中嵌入的对用户透明的程序,它可以完成一些动作,显示动态图像、下载和播放音乐、视频等。当用户使用浏览器查看带有活动内容的网页时,这些应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。这些活动内容主要用ActiveX控件等技术,这些都存在不同的安全隐患,应对其进行有效的控制,如严格限制从网络上任意下载程序并在本地执行。从网络数据传输的角度考虑,在网络中数据传输会存在安全威胁,一是数据的完整性,可能会篡改和丢失;另一方面是数据的可控性,可能会被非指定的人员接收使用,那么在实际传输中,应注意数据加密和完整性鉴别,保证数据不被第三方窃取。本系统采用ASP的开发方式,相对ASP动态服务器页面(Active ServerPage)来讲,ASP是微软公司推出的一种用来取代CGI(Common Gateway Interface)的技术。ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态韵、交互式的Web应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息、上传与下载文件等。正因为ASP代码使用表单实现交互。而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。可以采取的解决方法有:可以对ASP页面进行加密,一是使用组件技术将编程逻辑封装入DLL之中:二是使用微软的Script Eneoder对ASP页面进行加密。而ASP是把基于通用语言的程序在服务器上运行,不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。而ASP的安全性较ASP有较大提高,但在开发的时候也应该注意预防恶意脚本注入攻击,SQL注入式攻击等等。数据库安全性是电子商务系统的一个重要方面,它是指保护数据库防止被不合法的使用,包括恶意的破坏和非法的存取等。由于本系统的数据涉及到个人资料和商业数据,所以要采取比较妥当的安全措施:首先防止数据被改动;其次要防止数据库被非法访问。系统可以利用Access与Windows NT的安全集成功能,为系统的不同使用人员分配不同的访问权限和角色,同时也可以使用服务器组并且共享应用程序会话,可以保证在任意一台服务器坏了的时候不影响整个网站的正常运行,防火墙也可以最大限度地避免防火墙内部网络被非法入侵,加密一些私有数据,做好数据库的备份和恢复。2.1.4 IIS配置IIS是Internet Information Server的缩写,是微软公司提供的Internet服务器软件,包括Web, FTP, Mail等服务器。本文以Window2000服务器操作系统为例,介绍Web服务器的安装和设置方法。目前运行的IIS的最理想的平台是Window2000服务器版和高级服务器版。Window9x/Me里也有IIS,但只是PWS(个人Web服务器),功能很有限,只支持1个连接。Window XP里的IIS也只支持10个连接。IIS是Windows操作系统自带的组件。如果在安装操作系统时没有安装IIS,则应手动安装。安装的步骤如下:1) 打开“控制面版”窗口,双击“添加或删除程序”图标,运行“添加或删除程序”窗口。2) 选择“添加或删除程序”窗口内“添加/删除Windows组件”选项,弹出“Windows组件向导”对话框。3) 选中“Internet服务器(IIS)”复选框,单击“下一步”按钮,执行操作。IIS安装完毕。4) 接下来,就是要对系统进行新建虚拟目录的操作:5) 打开“控制面版”窗口,双击“管理工具”图标,进入“管理工具”窗口。6) 双击“Internet服务器(IIS)”图标,进入“Internet服务器(IIS)”窗口。7) 单击“操作”目录,选择下拉菜单“新建”|“虚拟目录”命令. 8) 弹出“欢迎”窗口,单击“下一步”按钮。9) 在“别名”文本框中输入映射后的名字,如renli,单击“下一步”按钮。10) 在“目录”文本框中输入要映射的目录,如d:siterenli,单击“下一步”按钮,进入设置访问权限窗口.11) 在这里选择正确的访问权限,再单击“下一步”按钮,即完成设置。12) 删除映射的方法:打开“Internet服务器(IIS)”窗口,在虚拟目录别名上单击鼠标右键,选择“删除”命令即可。2.2开发及运行环境硬件平台: CPU: Pentium4 1.8GHz 内存:256MB以上最佳分辨率:1024*768像素软件平台:操作系统:Windows 7 数据库:Access 开发工具:Microsoft Visual Studio 2005/Adobe Dreamweaver cs4/Photoshop cs4 开发语言:ASP 浏览器:IE 6.0 Web服务器:IIS 6.02.3MD5加密技术Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。2.3.1算法描述对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 在MD5算法中,首先需要对信息进行填充,使其位长对512求余的结果等于448。因此,信息的位长(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息的位长=N*512+448 +64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。2.3.2算法的应用MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,下面以一个比方和一个实例来简要描述一下其工作过程:大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。我们常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方。如在UNIX系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的Hash值覆盖原来的Hash值就行了。正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为跑字典的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 Bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2).+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。这种加密技术被广泛的应用于UNIX系统中,这也是为什么UNIX系统比一般操作系统更为坚固一个重要原因。3 需求分析与开发技术要点3.1系统功能分析3.1.1系统综述作为一个交易型网站,商品信息必须准确、及时更新,便于用户浏览信息,产生购买意向;买卖双方可通过站内小纸条交流,也可通过所留联系方式进行更深一步的沟通,增加彼此的信息;用户可以在个人用户面板自主管理;随时可以发布信息、查看、发送小纸条;管理员需及时检查用户信息、交易内容的合法性,订单的合理性,且要及时通知用户有关商品的交易信息,以确保网站正常运营。该系统由前台信息浏览、用户管理和后台管理三部分组成。前台信息浏览显示最新商品信息,提供站内搜索,方便用户更快更准确的找到所需信息,前台由用户登录,在用户面板中,用户登录后可进入个人用户面板,在此可以查看、编辑注册信息,发布、管理商品信息,查看、发送小纸条等。管理员可以查看、管理用户信息,管理所有的留言、商品,订单,小纸条等信息,保证网站运转。3.1.2用例分析需求分析的第一步是定义用例,以描述B2C电子商务网站系统的外部功能需求。用例模型的主要构件是用例、角色和系统边界。获取用例可首先找出执行者,然后对执行者再提出问题以获取用例。用例模型中用例用于描述每个功能需求,角色用于描述与系统功能有关的外部实体,可以是用户和外部系统。图2.1 系统用例用例图的最大优点是将需求分析规范化、文档化,建立了一种与用户交流的良好手段,大大提高了分析阶段的效率,并在可视化建模的基础上为下一步的概要设计建立了基础。3.1.3系统结构分析在系统分析阶段,通过查看电子商务以及网站建设方面的书籍,尤其是留言板的功能分析,收集了许多有用资料,并且绘制了该系统的业务流程图。图2.2 整体业务流程由于在本系统的设计中我主要负责购物车模块的设计与实现,所以下面对购物车的流程加以描述,购物程序的设计是电子商务类网站设计中非常关键的部分。session对象主要用来存储特定用户会话所需的信息, 可以克服HTTP 协议没有“记忆” 功能的缺点, 实现在页面间跳转时所有信息不会丢失。购物车具备的主要功能有: 显示已购商品信息、添加商品、更改购买数量、取消某商品、取消此次定购、结算。其中每次定购信息修改后还要自动更新相应的计价信息。在商品列表页面上点击相应商品的“购买”按钮后才可将商品放入购物车。3为了便于系统的后期维护和新功能的添加, 采用了模块方式来制作ASP 页面, 许多页面被其他页面调用。所需连接数据库的页面有很多, 因此在中间建立了一个连接数据库。图2.3 购物流程图图2.4 卖家发布信息流程本文所讨论的校园二手书交易系统分为前台和后台两部分前台从用户的角度出发,也主要供卖家和买家使用,主要功能包括用户注册、用户登录、用户资料修改(包括密码修改)、查询商品、发布商品信息、发送站内小纸条、生成订单、购物车管理(商品删除、增加)、查看留言、订购商品、订单查询和发布留言。5后台部分从管理员角度出发,由管理员使用,主要功能包括管理用户、处理订单、查看用户信息、留言管理、添加公告信息以及小纸条管理等等功能。下面对这些功能进行简单讨论:1) 用户登录注册为正式用户后才能登录系统,便于各种交易活动。2) 查询商品这是电子商务系统对客户而言是最基本的功能,用户浏览系统时,可以方便的查找自己感兴趣的商品,节省用户大量的时间和劳动,从而方便了用户的采买。3) 生成订单用户选购完商品,系统将记录用户的采买商品记录,系统生成唯一的定单号,经便于管理员管理和物品的交易。4) 购物车管理用户对所选商品的管理,在提交之前可以对商品的数量进行修改,或者增加、删除商品。5) 查看留言、公告对留言或者系统公告的浏览功能。6) 发布留言留言板功能的实现,方便了用户与用户之间、用户与网站管理员之间的沟通。7) 站内小纸条用户和用户之间可以发送小纸条,当商品订单被审核后,卖家同样会收到管理员发送的小纸条。8) 物品信息管理卖家对新上架商品的添加,以实现商品的及时更新,从而吸引更多的用户来购买商品。9) 处理订单管理员对订单的处理,包括订单审核和通知卖家用户。10) 查看用户信息实现对各类用户服务的信息查看功能,便于管理员对用户信息的统计。11) 添加公告信息公告信息功能的实现,便于商家对各类商品信息、商品活动和一些规则的发布。3.1.4可行性分析1) 技术上的可行性:校园二手书交易系统以校园网站为平台,只在校园范围内运作,所以交易还是由买卖双方面对面的实体交易。系统软硬件要求不会太高,以目前校园网站的情况来看,完全可以架构二手书交易系统平台。校园二手书平台只是一个信息发布及信息交流的平台,所以提供图书的信息及买卖双方的联系方式,买家可以随时查询所需的图书信息,可以随时发布图书需求信息,卖家可以可以随时发布待售图书信息,及查寻买家图书需求信息。图书买卖信息的增减及修改均由买卖双方注册用户自行修改,交易具体流程及细节均由买卖双方自行商议达成共识。系统的维护及管理都相当基础,不需要大量的专业人员参与,只要是熟悉相关知识的学生就可以胜任。2) 经济上的可行性:对于校园内的师生来说,校园二手书交易系统的使用是免费的,他们可以自由浏览图书信息。注册用户可以免费发布、修改、删除买卖信息。交易双方通过系统中提供的联系方式私下交涉。系统不参与其交流过程,也不需要从中抽取利益。买卖双方可以方便的得到最大经济收益。这是一个不涉及交易支付提供第三方服务的交易平台而且只对学生老师开放的在校园网内运行的交易平台。学校有开发它所需的软硬件设施,学校的老师和同学就可以开发这个平台。 3) 管理上的可行性:校园二手书交易系统的建立可以减少校园中海报及其他公示的数量,美化了校园。同时提供了一个很好的学术交流的平台,不论是实体书籍的买卖,还是信息的发布交流都比以前更加方便、快速、合理。从管理上来看就像学校的点播系统一样,交易平台学校可以指派学生进行维护,而且由于只对学校的学生,老师开放的平台维护起来相对方便而且安全性也容易保证,例如学生可以用学号注册,由于用户特点比较统一各项管理措施可以比较有针对性。3.2系统结构设计3.2.1系统模块设计本系统分为前台销售管理系统 (网站)和后台管理系统。前台销售管理系统的用户是通过Internet 访问网站的客户,后台管理系统的用户是可以通过访问Internet的后台管理员。6 通过分析可提炼出以下5大模块:1) 用户注册和登录该模块是客户身份确认的重要方式。客户只有登录后,才能购买或者发布信息。登录过程中会限制用户IP地址,在固定IP段的用户才会得到许可。2) 物品管理模块物品是系统的核心数据,是买卖双方关注的焦点。该模块主要功能有:物品分类,搜索等。3) 物品交易模块用户加入购物车,查看购物车,提交订单等。4) 信息发布模块用户登录后可以发布信息,信息可分为求购信息和供应信息两大类。5) 后台管理模块包含以下功能:商品浏览、商品搜索、用户购物、用户查看购物车等。另外有一些附加功能:1) 其他管理为了使网站更加完善,便于卖家和买家之间的交流和沟通而没置的。包括访问统计和在线小纸条等等2) 信息管理对用户留言以及系统公告的管理,便于商家对信息的管理和统计等。3.3 数据库分析及设计数据库设计是电子商务系统设计中必不可少的一个重要环节,在客户购物页面中的有关信息要写入数据库,产品信息要存储在产品数据库,还要不断地接受各种数据访问。在设计数据库时要尽可能地减少数据冗余,数据结构要合理。7在关系数据库中,规范化关系模式就是要解决关系模式中存在的插入异常、删除异常、修改复杂、数据冗余等问题。规范化的基本思想是消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,让一个关系描述一个概念、一个实体或者实体间的一种联系,若多于一个概念就把它分离出去。但这并不意味着,规范化程度越高,模式就越好。我们必须结合应用环境对关系模式进行优化,例如适当增加冗余,提高性能。8数据库结构设计:通过实体以及实体之间关系的基础上,形成各个表之间的关系。电子商务系统数据库中的各个表的设计结果如下面几个表所示,每个表表示数据库中的一个表。下面是对数据表的详细描述:表3.1 用户信息表字段备注主键类型user_id用户编号PK自动编号User_name用户名文本User_pass用户密码文本User_mail用户邮箱文本user_lastlogintime最后登录时间日期/时间表3.2 管理员信息表字段备注主键类型admin_id管理员编号PK自动编号admin_name用户名文本admin_pass密码文本表3.3 物品信息表字段备注主键类型info_id物品IDPK自动编号info_user物品所属人文本info_title物品名称文本info_intro物品简介文本info_date日期日期/时间info_expiredays物品有效时间数字info_sclass物品小分类数字info_bclass物品大分类数字info_status物品状态文本info_kind物品供/求文本info_phone发布人手机文本info_price物品价格数字表3.4 订单信息表字段备注主键类型IdIDPK自动编号name收货人名称文本tel收货人电话文本shouji收货人手机文本youbian邮编文本email邮箱文本content备注信息文本address收货地址文本tdate时间日期/时间infonum物品编号数字表3.5 大分类表字段备注主键类型bclass_idIDPK自动编号bclass_name大分类名称文本bclass_amount大分类中物品数量数字表3.6 小分类表字段备注主键类型sclass_idIDPK自动编号sclass_name小分类名称文本sclass_parent所属大分类数字sclass_amount小分类中物品数量数字表3.7 统计信息表字段备注主键类型user_count用户总数量数字check_count成交总量数字info_count物品信息总量数字piece_count站内小纸条总量数字表3.8 登陆统计表字段备注主键类型id编号PK自动编号type登陆统计类型文本logincount统计数字date时间日期/时间表3.9 留言板表字段备注主键类型guest_id留言编号PK自动编号guest_content留言内容备注guest_reply留言回复备注guest_time留言时间日期/时间guest_user留言人文本表3.10 网站记事本表字段备注主键类型note_id编号PK自动编号note_title记事标题文本note_content内容备注note_time时间日期/时间表3.11 公告表字段备注主键类型notise_id公告编号PK自动编号notice_content公告内容文本notice_date公告日期日期/时间表3.12 公告表字段备注主键类型编号编号PK自动编号ipIp地址文本time日期日期/时间表3.13 小纸条表字段备注主键类型piece_id小纸条编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权双创题目及答案
- 区块链技术在能源领域的应用研究报告
- 轻工行业技术规范探讨
- 嵌入式系统试卷及答案
- 2025年粤菜模拟考试试题及答案
- 2025年小学自主招生题库及答案
- 2025年上半征兵工作完成落后检讨表态发言
- 2025年山东省新闻系统事业单位人员招聘考试题库及答案解析
- CN222992914U 一种rto多室蓄热氧化燃烧处理设备 (广东和炫环保智能科技有限公司)
- CN120150828B 高压隔离控制系统 (苏州博众仪器科技有限公司)
- GB/T 15171-1994软包装件密封性能试验方法
- 中药调剂技术-课件
- 水轮发电机讲义课件
- 姜黄素合成路线
- 高中通用技术会考试题及详解
- 安全教育:不私自离开幼儿园
- 泛光施工招标文件
- 刑法各论(第四版全书电子教案完整版ppt整套教学课件最全教学教程)
- 人工挖孔桩施工监测监控措施
- 第7章:方差分析课件
- 国家职业技能标准 (2021年版) 6-18-01-07 多工序数控机床操作调整工
评论
0/150
提交评论