- 1、本文档共117页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;;16.1概述;;;博客网站前台功能结构如图16-1所示。
图16-1博客网站前台功能结构;博客网站后台功能结构如图16-2所示。
图16-2后台功能结构
;16.3数据库设计;这一设计阶段是在系统功能结构图的基础上进行的,设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。根据以上的分析设计结果,得到文章信息实体、文章分类信息实体、文章评论信息实体、相册信息实体、相册分类信息实体和管理员信息实体。下面来介绍几个主要信息实体的E-R图。
文章信息实体
文章信息实体包括:文章ID、文章所属分类ID、文章标题、文章内容、作者名称和发表时间。文章信息实体的E-R图,如图16-3所示。
图16-3文章信息实体E-R图
;文章分类信息实体
文章分类信息实体包括:文章分类ID、??章分类名称和添加时间。文章分类信息实体的E-R图,如图16-4所示。
图16-4文章分类信息实体E-R图
;文章评论信息实体
文章评论信息实体包括:评论ID、文章ID、评论人昵称、评论内容和发表时间。文章评论信息实体的E-R图,如图16-5所示。
图16-5文章评论信息实体E-R图
;相册信息实体
相册信息实体包括:相册ID、相册分类ID、图片名称、图片标识、图片信息和添加时间。相册信息实体的E-R图,如图16-6所示。
图16-6相册信息实体E-R图
;相册分类信息实体
相册分类信息实体包括:相册分类ID、相册分类名称和添加时间。相册分类信息实体的E-R图,如图16-7所示。
图16-7相册分类信息实体E-R图;根据上一节的介绍,可以创建与实体对应的数据表。为了使读者对本系统数据库的结构有一个更清晰的认识,下面给出数据库中包含的数据表的结构图,如图16-8所示。
图16-8数据表结构图
;数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏直接影响着系统的效率和实现效果。本系统采用的是Access2000数据库,数据库名称为db_Blog。下面介绍db_Blog数据库中的主要数据表结构。
tab_article(文章信息表)
文章信息表主要用于保存添加的文章信息,tab_article表的结构如表16-1所示。
表16-1 tab_article表结构;tab_article_class(文章分类信息表)
文章分类信息表主要用于保存文章的分类信息,tab_article_class表的结构如表16-2所示。
表16-2 tab_article_class表结构
;tab_article_commend(文章评论信息表)
文章评论信息表主要用于保存对文章进行评论的信息,tab_article_commend表的结构如表16-3所示。
表16-3 tab_article_commend表结构;tab_photo(相册信息表)
相册信息表主要用于保存上传的相册信息内容,tab_photo表的结构如表16-4所示。
表16-4 tab_photo表结构;tab_photo_class(相册分类信息表)
相册分类信息表主要用于保存相册的分类信息,tab_photo_class表的结构如表16-5所示。
表16-5 tab_photo_class表结构;在网站构建的前期,可以把网站中可能用到的文件夹先创建出来(例如:创建一个名为images的文件夹,用于保存网站中使用的图片),这样可以规范网站的整体架构,使网站易于开发、易于管理、易于维护。笔者在开发博客网站时,设计了如图16-9所示的文件夹架构。
图16-9文件夹架构图
;16.5公共文件的编写;为了防止SQL注入漏洞,可以将其相关代码与创建数据库连接的代码放置在同一个文件中(如conn.asp文件)。这样,可以保证网站中绝大部分文件都可以引用该公用文件,从而保证网站的安全。
1.防止SQL注入
当应用程序使用输入内容来构造动态SQL语句访问数据库时,会产生SQL注入攻击,SQL注入成功后,就会出现攻击者可以随意在数据库中执行命令的漏洞。所以,在程序代码中把一些SQL命令或者SQL关键字进行屏蔽,可以防止SQL注入漏洞的产生。
将防止SQL注入漏洞的程序代码写入到数据库连接文件中,保证网站中的每个页面都调用此程序。程序逻辑是首先将需要屏蔽的命令、关键字、符号等用符号“|”分隔并存储在变量中,再使用Split和Ubound脚本函数将页面接收到的字符串数据与其作比较,如果接收到的字符串数据包含屏蔽的数据信息,则将页面转入到指定页面,不允许访问者进行其他操作。代码如下:
%
dimSQL_Injdata
S
文档评论(0)