近年网站数量呈爆炸式增长,据统计,当前网站数量已经突破11500个,商务网站已达1200多家,网上商店林立,如人们熟悉的阿里巴巴,8848等势头喜人,新浪、网易等综合网站也纷纷建立了电子商城。
图书以其藏书丰富、便于检索等特点,非常适合进行网上销售。下面以基于ASP.NET图书电子商务网站建设过程为例,阐述图书电子商务网站建设中的系统需求分析及图书电子商务网站系统功能技术实现。
一、系统的定位及需求分析
1.网站定位
面向图书市场的基于ASP.NET图书电子商务网站。
2.网站功能模块
(1)会员管理模块:该模块收集网站浏览潜在客户的基本信息,建立的数据库将纪录浏览者的基本信息以便于网站统计分析,同时,注册会员还可以享受网站提供的个性化服务。
(2)图书在线销售模块:该模块是在网络上建立一个虚拟的图书购物商场,避免挑选书籍的烦琐过程,使整个买书过程变得轻松、快捷、方便。
(3)图书新闻发布模块,网站要有对某些书籍促销信息、新书籍发布和业界动态信息进行管理和发布的功能。它主要包括:新闻信息发布、新闻信息录入、新闻信息修改删除、新闻信息查询等功能。
(4)网站后台管理模块:网站数据管理功能主要用于完成远程数据库服务器维护功能,基于ASP.NET图书电子商务网站建设技术中,包括业务数据的分类与信息的添加、删除、修改等功能,以及对网站操作员的管理等。
二、系统的实现手段及标准
1.后台用户管理实现手段
网站的所有频道及其子栏目采用统一的用户管理系统,通过不同的权限机制,管理不同的版块。增加网站的相对安全性及后期维护的分工明确性,例如:图书新闻发布用户组用户仅有管理、添加图书新闻的权限,没有管理其他栏目的权限。
2.综合技术实现手段
(1)本系统采用三层开发模式。第一层:客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件。浏览器将HTML代码转化成图文并茂的网页;第二层:Web服务器将启动相应的进程来响应一些请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器;第三层:数据库服务器的任务类似于C/S模式,负责协调不同的Web 服务器发出的SQL请求,管理数据库。
(2)枝术实现标准。①数据表索引优化,不同栏目数据分表存储,提升速度、提高容量;②网站导航要易于使用,确保新访问者能够通过网站导航简单方便并且快速的找到他所要的信息。③采用微软公司推荐的更为先进的开发思想来开发,前后台代码文件分开写,对于ASP.NET 程序, 则可以分写为.aspx和.cs两个文件。
三、系统的功能实现
电子商务网站,很大一部分工作是数据访问,也就是对各种不同数据源进行数据操作。本系统采用Microsoft SQLServer 2000 作为该系统的后台数据库管理系统。ASP.NET通过ADO.NET进行数据访问, 并有功能强大的服务端控件对数据发布(显示) 提供较完善的支持。
与数据访问相关的类被封装在System.Data、System.Data.SqlClient、System.Data.OLEDB等命名空间内。
1.数据库连接
本系统采用对数据库配置进行统一管理的方法,将数据库连接字符串信息写于Web.config配置文件中,方便系统移植和管理。
2.公共类代码实现
为了减少重复代码书写率,提高编程效率,本系统将公共代码写入一个公共类command.cs文件里面,command.cs类文件包括:getconn()、getdataset()、getspace()、getmd5()、getlogin()、getexec()、get_count()等自定义方法。
如:
- publicboolgetexec(stringstr)
- //执行T-SQL操作语句并返回信息
- {
- SqlConnectionconn=this.getconn();
- SqlCommanddc=newSqlCommand(str,conn);
- boolok=false;
- conn.Open();
- if(dc.ExecuteNonQuery()〉0)
- {ok=true;}
- returnok;
- }
3.服务器端的数据库处理
Web Server与SQL后台数据库服务器的通讯通过类之间的调用来与数据库进行数据通讯。如update 数据:
- protected void ok_Click(object sender,
- EventArgs e)
- {
- sqlaccess access = new sqlaccess();
- string str ="update news set news_title='"
- + access.getspace(str1) + "',news_message='"
- + access.getspace(str3)+ "',s_title='"+str+ "'
- where id="+id;
- if(access.getexec(str))
- Response.Write("〈 Script Language=JavaScript 〉
- alert('修改成功!!');window.open('xx.aspx');
- 〈 /Script 〉");
- Else
- Response.Write("〈 Script Language=JavaScript 〉
- alert('修改时出错,请重试!!'); 〈 /Script 〉");
- }
4.提高网站安全性,防止SQL注入
所谓SQL注入式攻击,就是攻击者把SQL命令插入到WEB表单的输入区域或页面请求的查询字符串,欺骗服务器执行恶意SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。
本系统的防范措施:在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤,可以有效的防止ASP.NET应用被注入式攻击,过滤内容可以包含以下几种:
(1)符号过滤。如:单引号、百分号等等。
(2)对用户输入内容中的所有连接数据库字符过滤,防止攻击者构造出类似“select * from userlist where login=’name’—and password=’’“之类的查询,其后半部分已被注释掉,不再有效,攻击者只要知道一个合法用户名,根本不需要知道密码,就能获得访问权限。
(3)加密用户密码,然后再将它与数据库中保存的数据比较,用户输入的数据不再对数据库有任何特殊的意义,从而也在一定程序上防止了攻击者SQL注入,以及通过获取Cookie、Session等方法获取用户密码。
本文通过分层的开发模式在网站需求获取、代码分析,以及提高网站安全性等方面做了深入分析,利用微软的.NET 技术及先进的开发思想,基于ASP.NET图书电子商务网站建设技术开发出了一套运行稳定、性能良好、开发效率较高、开发成本低廉的图书电子商务网站系统。
【编辑推荐】