资源简介 (共81张PPT)*第3章电子商务系统建设*第3章 电子商务系统建设3.1 电子商务系统功能3.2 电子商务系统的总体设计与策划3.3 web服务器3.4 功能设计3.5 系统开发技术3.6 ASP数据库编程技术3.7 电子商务系统及安全设计3.8 基于web数据库网站设计与实现案例*3.1 电子商务系统功能3.1.1 电子商务网站的定义电子商务网站由一系列网页、后台服务器、网络设备和数据库等软件和硬件组成。电子商务网站是企业开展电子商务活动的基本手段,是企业树立企业形象,与用户交流和沟通的窗口,也是买卖双方信息交流的渠道,是企业展示其产品与服务的平台。*3.1.2 电子商务网站的功能(1)商品展示功能(2)购物车功能(3)交易处理功能*3.2 电子商务系统的总体设计与策划3.2.1 电子商务网站的类型按商务模式分类B2B网站B2C网站C2C网站按电子商务网站经营模式及提供的服务分类企业网站中介类网站电子商场平台网站批发网站*3.2.2 电子商务网站的组成Web内容服务:提供电子交易过程中的企业宣传、产品展示、网站客户的注册管理、购物车管理和支付服务等内容服务。应用服务系统:提供电子商务交易过程中的业务处理部分。它是网站的核心部分,整个电子交易的业务处理都在此完成,它同时与数据服务系统和安全服务系统相关联,保证交易过程业务和数据的正确性和完整性。数据服务系统:提供网站电子交易中的数据服务,一般由数据库系统组成,提供各种数据信息服务,管理网站的数据信息结算服务系统:提供交易中的数据结算和交易转帐服务,所有交易的发生的资金往来都由这部分处理。支付服务系统:提供交易资金的支付服务,它一般由金融机构提供服务,通过专用的网络与网站的结算服务系统相连,使用专用的协议,完成帐户资金的往来。安全服务系统:提供网站的安全保障。*图3-1 电子商务网站的组成结构*3.2.3 电子商务网站建设流程域名注册IP地址建设网站平台信息发布和维护网站推广*3.2.4 电子商务网站硬件平台电子商务网站硬件的构成和实现电子商务网站从硬件角度考虑包含网络服务器、应用终端或工作站以及用于设备互连的硬件设备和其他保障网站正常活动功能的设备。一般情况下硬件的配置应主要考虑业务要求、系统功能与性能因素。*网络服务器构建网站需要的服务器有:Web 服务器,提供一个WWW站点,借此可完成网站日常的信息访问以及商务业务处理。邮件服务器,提供电子邮件的发送和接收电子邮件。数据库服务器,提供电子商务业务的数据服务。还可根据需要设置协作服务器、财务服务器等。*应用终端终端设备有以下几种:输入终端,用于一般的文档录入工作,性能和配置要求较低。管理监控终端,用于网站运行情况的监测,保障系统运转和数据安全。开发测试终端,用于网站的设计开发工作,同时在系统上线后,进行维护系统和检测。*网络连接设备集线器,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。交换机,主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。路由器,主要用于连接多个逻辑上分开的网络。路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。其他设备如扫描仪、复印机、打印机、光盘刻录机、网络检测设备等都不可缺少。另外一些特殊的安全保障设备也是必不可少的,如UPS、硬件防火墙、入侵监测设备、灾备设备等。*3.2.5 电子商务网站软件平台操作系统WINDOWS系列操作系统该系列主要运行于微机服务器,所以基于WINDOWS系列平台只能构建小型电子商务系统。该系列操作系统主要包括:WINDOWS NT、WINDOWS 2000、WINDOWS SERVER 2003。UNIX系列操作系统可以构建规模较大的电子商务系统。在微型计算机上运行主要采用的是UNIX SystemV版本,而在大、中、小型机上运行主要采用UNIX BSD版本。目前主流的UNIX操作系统主要包括IBM公司的AIX、SUN公司的SUNOS和SOLARIS等。LINUX系列操作系统LINUX操作系是开放的操作系统,可以自由获得其源代码,它可以为个人PC机及兼容机硬件平台上的多个用户,提供多任务功能。常用的LINUX操作系统有:Red Hat AS系列、SUSE系列、Ubuntu系列等。*Web服务器软件Web服务器也称为WWW(World Wide Web)服务器,主要功能是提供网上信息浏览服务。目前主流的应用服务器产品主要来自于IBM、微软、SUN、Oracle、BEA等公司。它是电子商务网站必不可少的软件,带应用程序服务器的Web服务器软件完成企业核心业务处理。详细介绍见3.3.2节。*数据库系统软件Oracle 数据库系统Oracle是由Oracle公司开发的最早商品化的以高级结构化查询语言(SQL)为基础的分布式关系型数据库管理系统。主要用于大型电子商务系统中。它也是应用较广泛、功能最强大的数据库管理系统。Microsoft SQL Server数据库系统Microsoft SQL Server是由微软公司推出的典型的关系型数据库管理系统,是目前应用最广泛的数据库系统之一,主要运行于微软系列的操作系统,它使用Transact-SQL语言完成数据操作。Microsoft SQL Server是开放式的系统,其它系统可以与它进行完好的交互操作。*其他软件电子商务网站的软件系统还有很多,比如提供电子邮件服务的电子邮件服务器软件、完成文件传输服务的FTP软件、保障安全的病毒防护软件、防止攻击的防火墙和入侵检测软件等。*3.3 web服务器主要功能是提供网上信息浏览服务。一般来讲,Web服务器传送WWW资源页面,使Web浏览器可以浏览。而真正进行事务处理工作的是Web应用程序服务器。Web应用程序服务器提供客户端应用程序可以调用的方法,来完客户端请求的业务处理。确切的说,Web服务器专门处理HTTP请求,而Web应用程序服务器是通过很多协议来为应用程序提供商业逻辑。*3.3.1 web服务器的工作原理Web服务器能够解析HTTP协议。当Web服务器接收到一个HTTP请求后,它会返回一个HTTP响应,响应的内容可以是一个静态页面或图片,或者进行页面跳转,或者把动态响应的产生委托给其它的程序*图3-2 Web应用程序结构*3.3.2 web服务器软件Microsoft IISMicrosoft的Web服务器产品是Internet Information Server (IIS), IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。ApacheApache 源于NCSA Httpd 服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。*IBM WebSphere WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分BEA WebLogicBEA WebLogic Server 是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。TomcatTomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。*3.3.3 站点的发布将完成的商务网站发布到互联网上,让用户可以通过网站进行需要的商务交易活动,这就是站点发布。包括以下几个步骤:域名注册域名是Internet网络上的一个服务器或一个网络系统的名字,是在internet定位资源的标识,对于网站来说,域名就是它在internet上的唯一名字。通过域名就可以在浩瀚的internet中到达指定的网站。*网站建立方式常用的建站方式三种,用户可以根据自身的情况加以选择。虚拟主机方式托管服务器专线接入上传网站把制作好的电子商务网站文件上传到服务器空间。一般情况下,可以使用FTP的方式将文件上传 。*3.4 功能设计建设一个电子商务网站,首先要明确建站的目的和用户需求。对于不同的企业、不同的商务活动要求、不同的市场需求等目标,网站的定位和功能设计有非常大的差别。*3.4.1 网站信息流程设计B2C 电子商务网站中,顾客的具体商务行为一般包括以下几个:顾客登陆网站,浏览该网站的有关页面;挑选所需商品。在这个过程中,顾客浏览商品的说明、功能、价格、付款方式、送货条件、退货条件、售后服务等信息,决定是否进行购买行为;订购。选定商品后就可以订购。订购时使用网站提供的订购程序完成订购。付款。提供多种付款方式,方便货款的支付。商品配送。获得网络商业销售的有形产品要利用传统的配送渠道,如邮寄快递、货运公司等传送到顾客手中,而数字化产品如软件音乐可以通过Internet 直接传送给顾客。*3.4.1 网站信息流程设计网站功能设计电子商务网站的基本功能(1)客户端前台登陆与注册商品浏览与选购购物管理个人订单管理支付管理*(2)服务器端后台客户管理:商品管理:订单管理:(3)其他功能新闻公告管理数据维护配送管理图3-3 购物网站功能结构图*数据库设计一个好的电子商务网站必须有强大的数据库支持。本书举例的主要数据表有:(1)客户信息表(2)商品信息表(3)订单信息表(4)购物车信息表等*3.4.2 客户管理网站的客户管理可以分为客户端前台的客户注册管理和后台的客户信息维护。网站对访问网站的用户进行客户管理,是进行电子商务交易的必要措施。*1.客户注册在Internet上,登陆网站访问的用户可以是任意的人。不过,如果要完成真正的电子商务交易,需要一些必要的个人信息,从而保证交易的正常进行。客户注册的业务流程如图:开始通过验证N用户注册用户登录是否注册登录成功YN修改个人信息结束Y图3-4 客户登陆注册流程图*2.客户信息管理后台管理中,对客户信息的维护和管理是重要的工作。包括客户信息的修改、会员等级的设定、查看客户订单信息等。*3.4.3 商品管理商品管理是购物型商务网站的重要组成部分,管理员要根据当前市场情况、库存情况、物流情况和销售策略等信息,及时调整电子货架所陈列的商品。商品管理包括商品的分类管理、商品基本信息的维护、商品添加、删除、库存情况的处理等工作。*1.商品分类管理处理商品信息的时候,采用分类处理的方式比较方便,因此在管理商品中,首先进行商品的分类管理。如果一个级别的分类无法满足需要,可以采用多级分层分类的方法进行管理。2.商品信息维护商品基本信息的维护、商品添加、删除、库存情况的处理等工作。管理员要注意商品库存的情况,注意哪些商品已经缺货,通知采购员进行商品采购。添加商品信息需要选择商品的分类,从而实现在指定的分类下添加合适的商品信息。商品的信息的维护还包括对已有商品信息的修改以及删除过期或者下架的商品。管理员要及时维护网站商品信息,给客户提供最新、最全面的商品信息。*3.4.4 订单管理订单的管理是管理电子商务交易过程的一个重要环节。电子购物的过程中,形成买方与卖方完成交易的重要凭证之一就是订单。订单即表明了客户购买商品、要求进行交易的事实,又是销售方商品销售、商品出入库的凭据,而且一个成功的交易,订单是一种买卖双方的电子契约形式,也是交易过程和结果这种商业行为的依据。*订单的管理可分为两个部分:一是客户端前台客户生成订单的管理;一是服务器后台对订单约定的购买商品进行后续处理过程的管理。客户订单生成当客户选择完毕准备购买的商品后,就可以生成商品的订单了。订单生成的流程一般为:从购物车提取客户已选购的商品,并对选购商品进行数量与金额的统计;客户填写订货人信息和收货详细信息。选择货款支付方式。选择商品送货方式。确认并提交订单。*客户端订单管理的流程,可以如图3-5所示的过程进行。图3-5 客户端定单管理流程*订单的状态:未处理状态:客户提交之后,并未被管理员处理。确认付款状态:商品货款已经支付,但尚未发货。无效状态:无效的订单。发货状态:管理员确认订单,安排发货。收货状态:客户已接收到购买商品。完成状态:完成交易的订单。*2.后台订单管理客户确认生成订单后,管理员就可以对订单进行进一步的处理。可以按照订单状态分类管理订单。后台处理客户订单的流程一般为:审查订单:审核客户提交的未处理订单的相关信息,是否符合要求。确认付款:查看未处理订单的付款情况,若付款,则改变订单状态,准备发货。商品出库和发货:对已付款订单安排商品出库和发货改变订单状态。收货确认:确认客户是否收到商品,若收到,则改变订单状态。订单归档:对已经完成交易的订单进行归档。*图3-6 订单处理流程图3.4.5 电子商务网站检索一个成功的数据库应用程序都使用Connection对象建立连接,并使用Recordset对象处理返回的数据。通过使用这两个对象,可以开发出执行大多数数据处理任务的数据库应用程序。3.4.6 电子商务网站BBS售后服务用户登录发送消息历史消息**3.5 系统开发技术3.5.1 电子商务网站体系结构目前电子商务网站的体系结构有多种,常见的是三层体系结构模式:数据层:提供网站业务数据服务,包括数据库系统和访问数据库的应用程序接口。数据库提供具体的业务数据支撑,而数据访问应用程序接口为上层的业务处理应用程序提供访问数据库的方法,从而实现数据交互。它处于最低层,是构建网站的基础。业务层:提供电子商务交易过程中的业务逻辑处理服务,这个层次中包含具体为业务服务的应用程序,每个商务过程都是由一个相关的任务序列组成的事务。比如处理web请求的web应用程序、处理订单业务的EJB等等。网站业务的实现,全部由这些应用程序完成,例如网站客户管理、商品管理、订单管理、结算支付以及安全保障等。它是网站体系结构的核心层,整个电子交易的业务处理都在此完成。表示层:表示层提供电子交易过程中的企业宣传、商品信息的发布、信息查询、注册管理、购物车管理以及订单路入等。它位于最上层,面向web访问用户,是网站对外服务的窗口。*图3-7 电子商务网站的体系结构*3.5.2 客户端技术1.静态网页开发技术2.JavaScript3.VBScript4.DHTML5.XML技术*3.5.3 服务器端技术ASP技术JSP技术PHP技术*3.5.4 基于web的数据库访问技术数据库系统访问技术开放数据库连接(ODBC)开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库图3-8 使用ODBC访问数据库原理图*OLE DBOLE DB是Microsoft公司提供的关于数据库系统级编程的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。因为OLE DB是一个面向对象的接口,特别适合于面向对象语言,然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。动态数据对象(ADO)动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。*Web数据库访问技术1)CGI(Common Gate Interface)技术CGI 是最早普遍使用的Web 数据库访问技术,几乎所有的Web 服务器都支持CGI。程序员可以选择任何一种语言,如C, C++, Delphi, Visual Basic或Perl 来编写CGI 应用程序。*2)Web API(Web Application Programming Interface)技术Web API 是Web 服务器开发商为其产品用户开发,类似于CGI 程序的服务器端扩展程序所提供的专用编程接口。用户利用Web API可以完成CGI程序所能实现的功能,并且维持服务器较好的性能。API应用程序通常以动态链接库(DLL)的形式提供,驻留在Web 服务器上,它的作用与CGI 相似,也是为了扩展Web 服务器的功能。图3-9 API方式 web数据库访问结构*3)ASP (Active Server Page)技术建立在Active 平台上的ASP 技术是一种服务器端脚本运行环境 ,ASP 通过自带的ActiveX数据对象组件ADO (Data Access Object)与任何跟ODBC兼容的数据库和OLE DB 数据源进行高性能的连接,进行数据库访问操作。图3-10 ASP技术访问数据库的结构示意图*3.6 ASP数据库编程技术3.6.1 ADO组件ADO(ActiveX Data Object)是ASP内置的、用于访问Web数据库的ActiveX服务器组件。应用程序开发者可以将它与ASP结合起来,编写提供后台数据库信息的动态网页,并在客户浏览器端,实现对Web数据库的查询、插入、更新和删除数据的操作。*ADO常用对象Connection对象:负责创建一个ASP脚本与指定数据库的连接。在对某个数据库进行各种操作之前,首先需要与该数据库建立连接。Recordset对象:用来保存和表示从数据库中取得的记录集合,并允许访问者进一步对其中的记录和字段进行各种操作。Command对象:负责对数据库提出操作请求,通常是传递和执行指定的SQL命令。该对象的执行结果将返回一个Recordset记录集。Record对象:Record对象允许处理半结构存储中存储的数据(如在某个目录结构中的文件),就像这些数据记录在数据库中一样。Stream对象:Stream对象用来处理二进制数据,所以,可以用来处理BLOB类型的数据,比如数据库中的图像或大文本数据。*3.6.2 Connection对象Connection对象用于建立和管理应用程序与OLE DB兼容数据源或ODBC兼容数据库之间的连接,并可以对数据库进行一些相应的操作。在ASP中,在使用ADO连接数据库时,需要声明一个Connection对象,方式如下:<% Set Conn=Server.CreateObject (“ADODB.Connection”)%>这个实例执行之后,实际上并未连接到任何数据库系统,只是完成数据库连接前的声明操作。*Connection对象常用的方法如下表。表3-1 Connection的方法方 法 说 明Open 负责与具体数据源的连接Execute 执行指定的SQL语句或存储过程Close 负责关闭一个已经启动的连接对象及其相关的对象*1.open方法Open方法用于创建与数据源的物理连接。语法为:Connection.Open ConnectionString, UserID, Password;其中:ConnectionString用于指定连接字符串;UserID指定建立连接时所使用的用户名;Password指定建立连接时所使用的密码 。(1)通过OLE DB连接数据库① 通过OLE DB连接SQL Server的数据库,方法如下:Set Conn=Server.CreateObject (“ADODB.Connection”)Conn.Open "Provider=SQLOLEDB;Data Source=数据库服务器名称;Initial Catalog=数据库名称;User ID=用户名;Password=密码; "*举例代码:<%On Error Resume Nextconn="Provider=SQLOLEDB;Data Source=192.168.1.2;Initial Catalog=testdb;User ID=yan;Password=3487"Set conn = Server.CreateObject("ADODB.Connection")conn.Open connstrif conn.State = 1 thenResponse.Write "数据库连接成功!"conn.CloseelseSet conn = NothingResponse.Write "数据库连接出错!"Response.Write "可能出错原因:数据库位置或名称不对、数据库损坏!"Response.EndEnd if%>*②直接通过OLE DB连接Access数据库,方法如下:Set Conn=Server.CreateObject (“ADODB.Connection”)Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库文件名"其中:Provider是用于连接的提供者的名称;Data Source是Access数据库的物理位置和文件名称。*举例如下:<%On Error Resume Nextdbfolder="database/"connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbfolder&"count.mdb")Set conn = Server.CreateObject("ADODB.Connection")conn.Open connstrif conn.State = 1 thenResponse.Write "ACCESS数据库连接成功!"conn.CloseelseSet conn = NothingResponse.Write "ACCESS数据库连接出错!"Response.Write "可能出错原因:数据库位置或名称不对、数据库损坏!"Response.EndEnd if%>*(2)通过ODBC连接数据库通过ODBC连接数据库,方法如下:Set Conn=Server.CreateObject(“ADODB.Connection”)Conn.open “DSN=数据源名称;UID=数据库用户名;PWD=密码”其中DSN是设置的ODBC数据源名称。无论连接何种数据库,只要设置好ODBC连接数据源(通常称为数据源名称,即DSN),都可以使用这种方式连接数据库。*2.execute方法execute方法用来执行指定的查询、SQL语句等操作。举例如下:<%connstr="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" & Server.MapPath("testdb.mdb")Set conn = Server.CreateObject("ADODB.Connection")conn.Open connstrstrSQL = "INSERT INTO Customers (FirstName, LastName) VALUES ('tom','jams')"conn.Execute strSQL%>3.Close方法Close方法负责关闭一个已经启动的连接对象及其相关的对象,其语法如下:Connection. Close*3.6.3 RecordSet对象Recordset对象,又称为记录集,是ADO中最常用的对象,它负责从数据库中取得所需的记录数据并创建一个记录集合。它可以用于检索数据、检查结果、更改数据库数据等操作。 Recordset 对象有许多可以使用的特性,它保持查询返回的记录的位置,允许您一次一项逐步扫描结果。创建Recordset对象实例的语法格式如下:Set rs = Server. CreateObject("ADODB. Recordset")rs即为创建的Recordset对象。*Recordset对象的方法和属性如表3-2和表3-3所示。方 法 说 明AddNew 添加一条空白记录CancelBatch 取消一个批处理更新操作CancelUpdate 取消已存在的和新的记录所做的任何改变Close 关闭打开的记录集GetRows 取得记录集的多条记录Movefirst 将RS记录集对象的指针移至记录集对象中最顶端的记录Moveprevious 将RS记录集对象的指针向上移动一条Movenext 将RS记录集对象的指针向下移动一条Movelast 将RS记录集对象的指针移至记录集对象中最底端的记录Open 打开一个记录集Requery 重新执行查询Update 向数据库提交对一条记录的改变或添加Fields.count 显示该记录集对象内所含有的字段数属 性 说 明AbsolutePage 设置当前记录所在位置是第几页AbsolutePosition 设置记录集对象所在位置是第几条记录ActiveConnection 设置记录集属于哪一个Connection对象BOF 检验当前记录集对象所指位置是否在第一条记录之前,若成立,则返回True,否则返回FalseEOF 检验当前记录集对象所指位置是否在最后一条记录之后。若成立,则返回True,否则返回FalseCacheSize 设置记录集对象在内存中缓存的记录数Cousor 设置记录集对象的光标类型,共分为四种,分别为Dynamic,Static,Forward-only,KeysetEditMode 指定当前是否处于编辑模式LockType 在记录集的当前位置锁定记录PageSize 设置记录集对象一页所容纳的记录数PageCount 显示记录集当前的页面总数表3-2 Recordset对象的方法表3-3 Recordest对象的属性*Open方法Open方法的功能是创建与指定数据源的连接,并打开一个RecordSet对象。其语法格式为:RecordSet.Open Source, ActiveConnection, CursorType, LockType, Options其中:Source是数据源,可以是数据库中的表名、存储的查询或过程、SQL字符串、Command对象或适用于提供者的其他命令对象;ActiveConnection记录集使用的连接,可以是一个连接字符串或者一个打开的Connection对象;CursorType是RecordSet的一个属性,表示使用的光标类型,必须是定义的光标类型中的一种,缺省值为adForwardOnly;LockType也是RecordSet的一个属性,表示使用的锁定类型,必须是定义的锁定类型中的一种,缺省值为adLockReadOnly;Options告诉提供者Source参数的内容是什么,如表、文本字符串等等。*举例如下:<%On Error Resume Nextdbfolder="database/"conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbfolder&"count.mdb")Set conn = Server.CreateObject("ADODB.Connection")conn.Open connstrif conn.State = 1 thenSet rs = Server. CreateObject("ADODB. Recordset")rs.open "select * from count",conn,AdOpenKeySet,AdLockPessimisticEnd if%>*2.Close方法关闭所指定的RecordSet对象以便释放所有关联的系统资源。语法格式为:RecordSet.Close需要注意的是关闭Recordset对象并非是将它从内存中删除。要将对象从内存中完全删除,可将对象变量设置为 Nothing。 例如:rs.closeset rs=Nothing*3.移动记录集合光标的方法移动记录集合光标的方法:MoveFirst方法:将当前记录指针移动到RecordSet对象的第一条记录。MoveLast方法:将当前记录指针移动到RecordSet对象的最后一条数据记录。MoveNext方法:将当前记录指针移动到下一条数据记录。MovePrevious方法:将当前记录指针移动到上一条数据记录。*记录集合光标的移动示意如下图所示。图3-11 RecordSet光标的移动示意图*举例如下:<%On Error Resume Nextdbfolder="database/"connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbfolder&"count.mdb")Set conn = Server.CreateObject("ADODB.Connection")conn.Open connstrif conn.State = 1 thenSet rs = Server. CreateObject("ADODB.Recordset")rs.open "select top 10 * from article order by id DESC",conn,1,1i=0do while not rs.eofi=i+1%><%=i%>." target=_blank><%=left(rs("a_name"),16)%><%rs.movenextlooprs.closeset rs=nothingEnd if%>*3.7 电子商务系统及安全设计3.7.1 网站安全设计1.物理安全问题(1)给服务器加把锁(2)使用UPS(3)数据备份*2.软件的安全问题(1)Windows 的系统漏洞(2)Uuix/Linux 的系统漏洞(3)其他商用软件的漏洞*3.代码安全问题(1)SQL注入攻击SQL注入原理就是在客户端提交特殊代码,非法获取服务器信息。一般的网站都提供用户注册的功能,注册用户登录后,可以享受更多的服务。通过一个验证登录用户实验,来感受一下SQL注入攻击的威胁。登录时对用户验证处理的SQL语句一般为:select * from reguser where user=" ' "+Username.Text+" ' " and pwd= " ' " +Pwd.Text +" ' "其中Username.Text和Pwd.Text代表用户在web页面上的输入。当从数据库中查询到满足条件的客户信息后,就可以认证该用户是注册用户,但是,当一个恶意的输入出现时,情况就改变了,如果用户名输入为:asdf' or 1=1 --,密码部分随意输入,则查询的SQL语句就变成了:select * from reguser where user='asdf' or 1=1 --' and pwd=''语句执行的结果是列出所有记录,因此,网站的用户信息就不再是什么隐私了。问题主要是由于传入特殊字符引起的,可以对输入的用户名和密码进行过滤特殊字符处理来解决这个问题。*(2)跨站攻击跨站攻击的定义是指攻击者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。例子:假设网站的留言系统允许使用javascript脚本或者发布链接,输入下面代码测试一下:看看是什么!*(3)ASP的安全身份验证后才能被访问的页面。维护 Global.asa 的安全预防来自Filesystemobject组件的威胁SessionID和Cookie的安全性防范asp木马页面缓存管理3.7.2 电子商务安全1.电子商务存在的主要安全问题信息在网络的传输过程中被截获传输的文件可能被篡改假冒他人身份伪造电子邮件抵赖问题*3.7.2 电子商务安全2.电子商务中的主要安全技术加密技术数字签名数字时间戳数字证书**3.7.3 网上支付安全电子支付是电子交易的当事人,包括消费者、厂商和金融机构使用安全的、数字化的支付手段,通过网络向另一方进行货币支付或资金流转。网上支付系统的基本结构 如下图所示。图3-12 网上支付系统的基本结构*在结构图中包括以下实体:客户是指与商家有交易关系并存在未清偿的债权债务关系的一方。商家则是拥有债权的商品交易的另一方,它可以根据客户发出的支付指令向金融体系请求获取货币给付。客户开户行是指客户在其中拥有账户的银行,客户所拥有的支付工具就是由开户行提供的,客户开户行在提供支付工具的时候也同时提供了一种银行信用即保证支付工具的兑付。商家开户行是商家在其中开设账户的银行其账户是整个支付过程中资金流向的地方。支付网关是开放的internet与金融专用网之间的接口,支付信息必须通过支付网关才能进入银行支付系统进而完成支付的授权和获取。金融专用网则是具有高安全性的银行内部及行间进行通信的网络。包括中国国家现代化支付系统(CNAPS)、 人行电子联行系统等。认证机构(CA)是负责为参与的各方(客户、商家、支付网关、银行)发放数字证书,以确认各方的真实身份,保证网络支付的安全性。*网上在线支付存在一些安全问题(1)信息传递的安全问题;网络硬件的安全缺陷,如设备可靠性差、电磁辐射、电磁泄漏等;通信链路的安全缺陷,如链路的电磁辐射、电磁泄漏、搭线、串音等;缺乏系统的安全标准引起的安全缺陷,虽然己经有了一些网络安全标准,但是还不完善。*(2)业务系统的安全问题系统内部威胁。根据ICSA(Iternational Computer Security Association)统计,来自计算机系统内部的安全威胁高达70%。硬、软件系统的漏洞都可以被利用,受到各种非法攻击的侵入。非法的系统操纵。非法用户侵入系统,对业务及交易数据的非法侵占和恶意篡改;由于软件系统业务逻辑错误,造成合法用户对系统资源的非法使用等;业务数据的否认。如果缺乏必要的身份认证及信息确认技术,那么可能在交易过程中,买卖各方对已发生数据进行否认,从而破坏交易的进行;系统拒绝服务攻击。攻击者可能向销售商的服务器发送大量的虚假定单来消耗系统资源,从而使合法用户不能得到正常的服务。*(3)外部的安全威胁病毒侵扰。它可以穿透服务器以及用户的浏览器,利用系统漏洞破坏数据,造成大量数据的损坏和丢失;恶意攻击。不法黑客利用病毒或者木马,将用户引导到由黑客控制的网站,并在用户的机器中留下远程控制程序,从而窃取用户或者商家的交易及个人信息。网络钓鱼。最常见的网络钓鱼攻击方式是,攻击者以E-mail等形式模仿著名的金融机构向客户发送邮件,攻击者通常将邮件地址篡改成银行E-mail地址,用看上去相似的URL地址混淆真正银行的网站地址,骗取用户对该邮件的信任。3.8 基于WEB数据库网站设计与实现案例3.8.1 数据库结构设计表结构设计3.8.2 功能模块设计新书发布畅销图书发布推荐图书发布用户注册用户登录使用帮助管理中心购物车*3.8.3 部分程序代码打开数据库连接网站首页查看新书用户注册* 展开更多...... 收起↑ 资源预览