毕业设计网
JSP,JAVA | python | nodejs | android,安卓 | PHP | 微信小程序 |

asp.net多功能BLOG系统的开发

  1. 系统组成及功能

      本系统由以下多个子模块组成:用户登录、用户注册、页头和页尾的处理模块(用户控件)、管理员后台管理(包括BLOG配置、分类管理、站点文件在线编辑与管理、会员管理、BLOG表情管理、日志中自动识别的关键字管理、友情链接管理、友情链接验证、用户收藏的URL、服务器的相关信息、骂人词语的管理等)、BLOG编辑模块、友情链接提交与显示模块、BLOG发表模块、RSS订阅模块(1.0&2.0)、BLOG浏览模块、独立IP访问统计分析模块、验证码实现模块、BLOG评论列表模块、BLOG首页处理模块、注册用户URL收藏模块(提交、显示)、会员信息显示模块(单用户、多用户、信息编辑)、站点信息搜索模块(Google站内、系统本身)、文件上传模块、公用导航模块(用户控件)、公用类模块、全局变量和在线用户的记录、开启站点模块、工具模块等,各模块的详细功能如下所述:

1)用户登录模块
该模块主要用于实现用户的登录合法身份检查(包括超级管理员、管理员、普通注册用户)、设定用户登录保存COOKIE信息(不保存、10分钟、一天、一月、一年,默认为不保存,此种情况下采用Session记录登录信息,我设定了Session的有效时间,过期自动失效,需要用户重新登录),当有其他非法用户试图登录BLOG系统时,将会自动转到该页面并做出是否非法的判断,同时记录其IP和提示重新登录,反之如果用户是合法用户,也将提交其信息到该页面(采用Session传递,asp.net2.0之前不支持post到其他页面,只可post到当前页),然后对用户的登录信息进行数据检测(包括检测加密的COOKIE信息、读取数据库中的用户信息)。同时,当用户退出或登录成功时,也将在该页面给出提示信息(成功登录将记录本次登陆时间作为最后一次登陆时间、IP等),此外登录的始终都需要输入正确的验证码(验证码可手工刷新)来进行登录前的验证。
(2)用户注册模块
用于实现BLOG系统的用户注册(附加了注册协议等),默认注册的用户是普通会员,只能浏览BLOG,不可以发表信息,需要管理员后台设定为管理员或超级管理员才可发表,但评论是不受限制的。同时,用户名、密码、确认密码、电子邮箱、验证码等是用户注册时必须输入的,如果用户选择输入QQ密码,但当前不存在该QQ号码时,也将无法进行系统注册,此外个人签名显示、个人网站、个人简介等都是可选是否输入的。该模块主要设计的地方是对注册的各项进行了严格的检查,当然这是很有必要的,诸如用户名的长度限制、用户名类型是否非法(这里我写了正则表达式进行检查)、用户名是否为空、数据库中是否存在该用户等,同时也限制了密码的长度、确认密码的一致性、电子邮件的格式检查、QQ号码范围等。如果用户注册成功,将会给出注册成功的提示,并显示其可修改个人信息的链接,记录成功注册的时间等。
(3)页面头部处理模块
该模块主要实现的是从数据库中读出BLOG分类信息列表(分类由管理员在后台设定),统计用户访问信息(IP、时间、来源URL、浏览器、操作系统、屏幕宽度、语言、COOKIE、入口地址,搜索关键字等),同时获得全局使用的总访问人数,当然这些操作也可以在Global里来完成,效果是一样的,因为我的每个页面都包含了页面头部,但是当有不包含页面头部时将不会统计分析,只需要把相关实现写到Global里即可(有时间再看看)。在统计访问者的信息时,实现了防止刷新的功能,同一个IP,一定时间内将不会重新统计,同时如果支持穿过代理获得IP的话,统计的是真实的IP,而不是代理的IP。
(4)页尾处理模块
该部分主要解 决的是系统的版权信息,页面执行时间的显示等,比较简单。
(5)管理员后台管理模块
该模块涉及的东西比较多,用于实现对系统数据和相关信息的管理和配置等。具体描述如下:
 BLOG系统的配置:主要是完成站点标题的配置,站点URL和首页每页显示的
日志数,这些操作不是在数据库里来完成的,也没有这个必要因为取一个数,就要查询数据库,我放到了站点配置文件里Web.config里,后台 采用相关方法,修改该XML类型的文档,从而达到修改站点配置的目的,不过每次使用该选项时,系统将会从新执行。同时也支持修改用户上传文件大小和时间的限制、数据库连接配置等设置,也可配置管理员的邮件地址,以便作为批处理发送系统邮件的帐户。
 BLOG系统的分类管理:主要是管理分类的名称以及分类的排序情况,以及删
除分类的操作等,删除时有确认删除信息,防止该分类被用户误删时出现问题,支持分页显示。同时管理员可以增加分类信息,通过输入分类名称、排序来完成,在此过程中,对提交的分类信息也进行了检查(非法名称、非法排序信息等)。当然在编辑的时候也严格的限定了用户提交的修改信息,也做了相应的参数检查。同时对数据绑定的操作是贯穿始终的。
 站点文件管理:主要实现的是BLOG系统文件的在线管理(增加、删除、修改、
移动、重命名等,对目录的操作同样),可查看附件(文件信息、上传时间、文件类型等),不同文件显示不同图标,目录也可显示目录占用空间大小,作为管理用户上传的附件来说还是有必要的且比较实用,唯一不足的是,当系统文件较多时,性能会有所影响,便历目录需要时间。当然这个可不是木马^_^,它的执行需要系统给予一定的权限。
 会员管理模块:主要实现的是对BLOG系统的注册用户进行管理(增加、删除、
权限修改、信息浏览、是否隐藏EMAIL等),信息浏览包括会员名、权限、注册时间、最后访问的IP(可查看所在地)、发表的日志数,QQ(可在线发送QQ消息)、EMAIL(管理员可先配置好站点信息中管理员的邮件地址和密码,即可直接本地发送电子邮件,批处理方式)等信息的查看,权限修改包括SupAdmin、Admin、Member三种权限,前者为最高的管理权限,拥有系统的一切管理权、Admin是只能发表日志的,Member则只能发表评论。编辑、删除、分页与上面相同(检查、提示确认、数据绑定)。此外双击单条记录,可新窗口中查看该用户的详细信息, 该模块也实现了鼠标指向记录时,变色等相关界面显示效果,对于自定义排序操作,写了代码暂时没启用。
 表情管理模块:主要完成对BLOG日志或评论发表时,输入表情的种类的增加
和删除操作,也可称之为自定义表情。每个表情有特点的编号与对应的文件名,管理员可增加、删除它们,同时给出了表情预览效果,和上面相同,分页显示、数据绑定、确认删除、编辑、取消,在图片输出预览时,前后台要单独处理的。
 自动识别的关键字管理:其实这个是附加功能,主要识别用户发表日志或评论
中和系统定义关键字是否相同,相同则对此关键字进行操作,用超链接替换,当然连接信息也是存放在库里的。在管理时,可编辑(文字、连接)、修改、删除关键字的信息,增加关键字时和上面相同,进行了严格的检查,分页、数据绑定、编辑、确认删除、取消等。
 友情链接管理:主要实现的是对用户提交的链接进行管理,包括链接名称、
URL、图片(相对路径、绝对路径)、是否首页显示,同时链接图片可预览,和上面不同的是,此处操作支持批处理,主要是首页显示,管理员可选中头部的首页显示,从而将下面所有的CheckBox选中,再执行批处理设定,当然,可对特定选择的多条记录同样处理,此外增加了省略显示的功能,就是当某条记录的长度过长时,截取了该记录的前面固定长度的串,加”…”显示出来。同时在增加友情链接的时,可增加其链接名称、URL、图片、排序等信息,当然也严格检查了提交的信息。另一方面与上同,分页、确认删除……
 友情链接验证管理:主要实现的是对用户提交的友情链接进行验证,显示需验
证链接,是否首页已显示(当然默认是不会的),没通过验证的,将不会显示出来;不通过首页显示验证的,将不会在首页显示,在对验证、删除进行处理时,也采用批处理的操作,这和上面有所不同,实现了全部验证、全部删除的操作。
 用户收藏的URL管理:主要完成对用户个人提交的URL收藏进行管理,浏览
信息时显示提交URL的用户、提交的链接、名称、介绍、提交时间等,这里只支持删除操作,此外也采用了介绍信息过长后,进行过滤的功能,固定长度+“…” 显示,分页、删除……和上面相同
 服务器的相关信息:这是默认显示的,在登陆后台时,主要显示当前服务器的
相关信息,如服务器时间、域名、IP、端口、服务器IIS版本、脚本解释引擎、服务器空间占用情况、站点的物理路径、服务器的名称、脚本超时、服务器开机后执行的时间、服务器CPU的数量、CPU的类型、服务器操作系统、.NET Framework版本、USER_AGENT信息、常用组件支持情况、自定义组件查询、1000万次循环检测执行时间等,能给管理员对服务器的一些情况有一点了解。
 骂人词语的管理:这里主要是完成对提交日志或评论中的内容进行过滤的对比
词语,当发现有这些词语存在时将以*来替换之,管理员在这里可以修改、删除这些词语。一定程度上提高日志发表的文明性。
(6) BLOG日志发表模块
该模块主要完成了BLOG日志提交的功能,也是BLOG系统中比较重要的一个环节了,同时该部分处理的也比较复杂,在这里我采用了两种模式(UBB、HTML)在线进行编辑、提交,用户可根据自己的需要进行选择互换使用,并查看帮助信息,当然这样做并不是多余的,因为我发现有的时候纯粹的使用单一的模式有一定的不方便。在这两种模式下,都可以插入表情图片、识别关键字、识别超级链接、禁止UBB代码、禁止表情、禁止图片等操作,在UBB编辑器方面,完成了以下的功能支持:       
加粗字体、斜体字、下划线字体、删除线字体、上标字、下标字、居中显示、飞行文
字、滚动文字、闪光文字、阴影文字、超级链接、Email、图片、Flash、shockwave、RealPlayer媒体、Windows Media媒体、QuickTime媒体、Winmap媒体、代码片段、引用、项目符号、水平线、文件下载、网页框架、字体、字体大小、字体颜色、段落样式等。
在HTML编辑器方面,本想做一个自己的HTML在线编辑器的(有点难度),但做了一定时间后,感觉不是很好,当然也由于时间有限,所以暂时放弃了(有机会可以展示下已经做了一部分的HTML编辑器^_^,有时间再继续去完成)。后来采用了FTBOX1.63来辅助完成,它的基本功能和上面的差不多,总体来说比较强大,当然和专业性的编辑器控件比起来还是比较简单的^_^,具体的功能可在演示时说明,这里不在追述。当然在上传模块,FTBOX是自带的图片上传,不是很方便,有时间我会完成UBB的编辑上传与HTML编辑共享并取消FTBOX的上传功能,要么完善已经做了一部分的多功能编辑器……,当然在设计时,在其他方面UUB与HTML编辑是同一个模块函数里操作的,并不孤立,因为在用户选择某种方式使用时,程序已经做了记录,以上的功能实现都是基于HTML的,我利用了正则表达式对UBB标签进行了转换,UBB编辑采用的JS来实现,当然也只有这样做,因为如果采用服务端控件来单独设计,每次触发事件后,页面都会回传刷新,编辑框里的内容也将不复存在了。同时在框架页里上传文件成功后,将自动添加文件信息到编辑框,上面的说明都是以超级管理员、普通管理员的权限来说明的,普通注册用户无法发表的。此外对日志标题、日志内容等做出来检查(是否为空等),同时对其做出了格式化(替换特殊字符)和屏蔽骂人词语的功能,支持数据恢复(考虑到提交不正确细心你后IE刷新,暂时还不是很好用),允许添加引用网址、设定日志为公开或隐藏、置顶、禁止评论、设定(原创、转帖、翻译)、来源地址、插入表情等。在日志发表成功或权限不足时,将给出提示。当然有其他不足之处或是BUG,将在以后维护完成, 当然程序中设计的方面很多,这里不逐一表述(诸如分类列表绑定、表情绑定处理、天气选项等),参见程序源码与界面。
 (7) BLOG浏览模块
该模块主要实现对BLOG日志的浏览和评论发表的操作,但该模块涉及的内容也比较
多,设计时相对比较麻烦,下面是对该模块具体实现的陈述:
 隐藏日志,非超级管理员无法查看,并提示,以下同
 不存在的日志也将无法查看
 提交的参数非法或为空,也将无法查看,防止SQL注入等
 支持上一篇、下一篇关联日志的显示
 显示该日志的作者、标题、天气、提交时间、类型、来源地址、日志内容、    日志编辑时间、引用地址、
 管理员权限时,将显示删除日志、编辑日志的标签,并进行操作
 支持评论发表(同时允许直接注册、或临时发表),同样有验证码,如果注册,
  系统也将严格的检查其注册信息
 显示评论作者、日期、引用评论、评论者IP、
 超级管理员可删除评论、查看评论这IP信息(地区)
 由于评论可能很多,所以采用了分页存储过程的方法,将其分页显示,而不是
一般的分页显示,在一定程度上提高了分页查询的速度,当然在数据量非常大的时候将会越明显,允许自定义分页跳转查询
 同样支持表情添加、UBB代码、禁止UBB、表情、识别连接、禁止关键字等
 同样支持文件上传,但先要有管理员以上的权限,上传后添加到文本框,以
  UBB编码格式记录
 禁止评论的日志,非管理员将无法评论
 在日内容的显示上,通过正则表达式对UBB或FTBOX提交的内容进行还原,
并实现了识别关键字、超级链接、是否禁止图片显示、是否禁止UBB代码转换、是否禁止表情显示转换等,在日志评论的处理上也同样的方式实现
 在日志评论的处理上,分已登录和未登录的情况,不同情况下,有不同的检查
条件,登录时,评论内容不能为空,验证码不可错,未登录时,选中 注册复选框,将检查用户名长度、类型、密码长度、评论内容、是否已存在该用户、提交注册信息时,多是和注册模块类似
 评论的内容也进行了骂人词语的过滤、特殊格式字符的转换等
(8) BLOG日志编辑模块
该模块主要实现的是BLOG日志的编辑处理,提到编辑,当然要和日志发表相类似了,因为同样需要post,需要发表模块的所有功能(下面将这部分描述略去),下面是它不同于日志发表模块的详细描述:
 非法参数,将不会显示指定的日志,并提示
 不存在的日志,将不会显示编辑,并提示
 非超级管理员,将无法查看或编辑日志
 保存成功后将自动返回当前BLOG页面,并给出提示
 与发表模块不同的是,这里的作者是读的
 支持快捷键操作,提交Ctrl+Enter,取消编辑Alt+Enter
 显示当前日志的内容,和相关其他信息,供用户参考是否进一步编辑
(9)BLOG评论列表显示模块
该模块主要完成用户评论信息的汇总,包括个人评论的汇总、所有用户评论的汇总
以及用户搜索评论的汇总三个子部分,显示了评论的作者、评论的日期、评论的内容、是否为隐藏的日志(是则隐藏评论)、同时管理员可删除评论、查看IP信息。考虑到多条评论记录时,采用了分页存储过程来完成分页,并写了简单的分页算法代码(有一定的规律性),并支持自定义页面跳转。在分页处理时,作为URL参数来传递,同时也对评论内容进行UBB或HTML转换,对评论的表情、关键字、超级链接、禁止图片和UBB等进行了同上的处理。
 

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:asp.net毕业设计成果管理系统
下一篇:asp.net酒店管理员工信息管理系统


版权所有 毕业设计网联系qq:242219979 © 2007-2022