基于WordPress的 CMS分析与设计

个站网 2022-2-24 48 2/24

从解决网站中传统的内容管理系统存在的诸多问题出发,提出利用WordPress对内容管理系统(CMS) 进行架设和 管理,能有效地解决用户网站建设与信息发布中常见的问题与需求。阐述基本概念,对模块功能的分析及模块的实现和 安全性等方面都作了较详细的介绍。

随着网络技术的不断发展,网站的开发与维护若 不跟上信息衍生及业务模式变革的步伐,将需要花费 大量时间、人力和物力去处理信息更新和维护工作。 如若网站扩充,整合内外网及分支网站的工作将变得 更加复杂,甚至需要重新建设网站。如此,用户始终 在一个高成本、低效率的循环中升级、整合,归纳起来 传统的内容管理存在的问题如表1所示。

表 1 内容管理存在的常见问题1-2]

问题类型 问题描述
网站风格不一 页面制作无序,大量信息堆积冗余,发布异常沉重
管理效率低下 内容繁杂,链接视音频信息经常无法实现
角色分工不明确 应用复杂,许多工作必须技术人员配合才能完成
系统扩展能力差 改版工作量大,集成其它应用时更是降低了灵活性

对于网站建设和信息发布人员来说,最关注系统 的易用性和功能的完善性,因此对网站建设和信息发 布工具提出了一个较高的要求。

首先,角色定位明确,以充分保证各方人员的工 作效率;功能完整,使各种信息发布准确无误,为开发 人员提供人性化的管理功能

次,保障网站架构的安全性也非常关键。能有效 管理网站访问者的登录权限,使数据库不受外来侵害, 时刻保证网站的安全稳定运行,免除用户的后顾之忧。

根据以上要求,利用WordPress 对相应数据内容进 行架设并管理,能有效解决用户网站建设与信息发布中 常见的问题和需求。对网站内容管理是该软件的最大 优势,它功能完善、主题丰富,可将稿件分类并授权给合 法用户编辑管理,无需用户去理会专业生涩的语法。

1  内容管理系统的概念

内容管理系统,简称 CMS(Content Management System), 是指组织和协助共同合作的内容,方便数字 内容的管理系统。对内容管理,业界还没有一个统一 的定义,不同的机构有不同的理解[34]。

“内容”是任何类型的数字信息的结合体,可以 是文本、图形图像、Web 页面、业务文档、数据库表 单、视频、声音、XML文件等。或者说,“内容”是一个 比数据、文档和信息更广的概念,是对各种结构化数 据和非结构化文档及信息的聚合。“管理”就是施加 在“内容”对象上的一系列处理过程,包括收集、存 储、审批、整理、定位、转换、分发、搜索、分析等,目的是使“内容”能够在正确的时间,以正确的形式传递 到正确的地点和人。“内容管理”可定义为:协助组 织和个人,借助信息技术,实现内容的创建、储存、分 享、应用、检索,并在企业、个人、组织、业务、战略等诸 方面产生价值的过程。“内容管理系统”就是能够支 撑内容管理的一种工具或一套工具的软件系统。内容管理系统的定义分为狭义和广义。狭义通 常是指门户或商业网站的发布和管理系统;广义则指 个人网站系统也归入其中。维基(Wiki)   和博客 (Blog)都是一种内容管理系统。

2  WordPress 概述

WordPress 是一个免费的开源项目,在GNU通用 公共许可证下授权发布,使用PHP 语言开发,支持用 户在PHP 和 MySQL数据库的服务器上架设自己的  网志,也可将其当作一个内容管理系统来使用,同时  也是功能强大的博客系统,它支持多种语言,插件众 多,易于扩充功能,安装和使用非常方便。美国知名 互联网统计公司ComScore 2008 年的数据显示, Wordpress.com的日独立IP 数已2090万,全球数据  显示为9780万用户,而且呈逐年递增的趋势,足以说  明 WordPress已成为主流的博客发布系统之一。用  户可根据它的核心程序提供的规则自己开发模板和  插件,把博客改变成CMS、Forums、门户等各种类型的 站点[78],能够用CMS 开发的网站,基本上都能用 WordPress完成,可能更为简单,因为其主要功能都是  管理文章。如比较著名的 Joomla、Drupal 与 Word-   Press 没有太大的区别。但不以文章为核心的网站都 不适合用WordPress,目前的最新版本为3.03,主要  功能如表2所示。

表2 WordPress主要功能

 

组成 功   能 描      述
配    置 基本配置 标题、关键词、地址
发布 设置文本编辑器的默认高度、格式化等
阅读 CMS每页显示多少篇文章或显示多少篇最新文章等
评论 如留言设置、通知设置等
隐私 希望或不希望CMS能够被搜索引擎进行搜索
永久链接 格式 通过自定义设置可以更改
杂项 设置上传图片的相对保存路径或绝对保存路径及图 片尺寸等
管     理 自定义发布 类型 自定义发布内容的类型,为不同的发布类型定制各 异的主题
菜单管理 方便易用的拖拽界面,用户可以创建各种菜单,让菜 单链接至内部网页、网站分类、外部站点等地方
自定义分类 每篇文章都可以用类别(Categories)和标签(Tag)来 分类,用户可添加额外的信息进一步给内容分类
多站点管理 管理多个不同网站,包括跨域名网站或是同一域名 下的子网站等

本文以实验预约管理系统中的学习讨论模块为 例,并加以分析如何利用WordPress 架设CMS。

3   CMS模块功能分析

3.1 功能组成

整个版块从功能上,由3部分组成:用户管理、版 块管理和留言管理。

(1)用户管理:实现用户的登录、注册、注销、修 改个人资料和在线用户的列表。为管理用户,系统建  立一个用户数据表,用于存储注册的合法用户信息, 此外,系统还设计了一个在线用户数据表,用来存储  在线用户信息。

(2)版块管理:包括添加新版块和子版块、删除 现有版块和子版块、发表新文章、回复文章、检索文章 并且设置当有人回复文章时的邮件通知。

(3)留言版管理:主要实现显示和查询留言并且 可以给己注册的任意合法用户留言。在查看留言模 块中,若有新来的留言,则系统提示相应信息。学习 讨论模块数据流图。

3.2添加子版块

在子版块数据表中添加一条记录并且把它的字 段值赋为相应版块的序号(Board 中的字段值),新建 一个版块栏目,需要先在版块数据表中添加一条记录,然后在子版块数据表中添加子版块。删除版块和 子版块的算法与其相反。

3.3 实现的方法

在文章数据表(Publish _Article)中,用 Child- BoardNo.字段记录该节点的父节点数,即回复文章个 数,用parentid字段记录它的父节点序号,以layer 字  段来标示它所处的层数,用root 字段标示它的根节点  序号,用orders 字段标示它的节点序号。然后根据 boardid 把所有该版的文章按照root 记值逆序和or-  ders   值进行排列,再按照layer  的值进行退格处理。

当文章数目很大时,为了方便浏览就要采用分页技 术。在MySQL中,用下面的语句可限制数据集的大小:

select *from Publish_Article limit $offset,$psize;

其中$offset为偏移量,$psize 为显示记录数。这 样,用公式$offset   =$page    *psize-$psize求出剩余记录 的偏移量,就可动态定位到任意页面。

4    CMS 模块的实现

4.1   本地安装WordPress

在本地安装WordPress对管理人员十分有益,尤 其是自己制作一个主题或插件时,就更需要在本地安 装,因为反复的调试,本地操作金非常方便和高效。

WordPress需要PHP与MySQL的环境支持,在本 地测试就要安装PHP、MySQL以及APACHE服务器。

4 .2数据库配置

(1)利用图形管理工具 MySQL  Workbench新 建 一个数据库,如“LabServer”。

(2)下载WordPress 安装包,并把 WordPress 解压后 的整个文件夹放到LabServer中 的wwwroot 文件夹内。

(3)修改WordPress文件夹中的wp-config-sam- ple.php文件[10],见如下PHP代码:

//**MySQL settings-You can get this info from your web host  **//

/**The name of the database for WordPress */ define('DB_NAME','lab');

/**MySQLdatabase username */ define('DB_USER','root');

/**MySQL database password*/

define('DB_PASSWORD','123456′); /**MySQL  hostname*/

define('DB_HOST','localhost');

/**Database Charset to use in creating database tables.*/ define('DB_CHARSET','ut8');

数据库名称填入新建的数据库“LabServer”,为 方便起见,数据库用户名填“root”, 密码为“123456”, 文件另存为wp-config.php   即可。

4 . 3用户设置

可利用功能强大的IDE 工具Zend Studio的配 置,对WordPress   进行架设、管理、调试和发布1]。在  安装了Zend Studio后,需要一些基本的配置,使其支 持PHP/MySQL环境,具体可参阅相关用户手册。

1.修改个人信息。

 

WoRDPRESS Welcome

Wekcome to the lamous fve rinute WordPress mstalabon process Youmay wan to browse the Readhe t     oendable e and powenul personal pubishingplatfomm in the warld

Information needed

Pleaseprovide the folowing infomabon.Dontwomy,youcanahways chanoethese settngs later.

8log   Ttn

 

tiyp@163com

Double-dhedk         you          mai         adtreps          betore         contnuno

F Aiow my bog to appear in search engines ske Gooole and Tednorai. Instt         Wordress

图 4 注册界面

注册WordPress后,如图4所示,即可进行安装。 登录后点击导航栏右边的“Users”菜单,会出现两个  子菜单,“Authors&Users(作者与用户管理)”和“Your   Profile(你的空间)”,点击“Your Profile”,包含很多个 人信息的配置。

2.创建新用户。

WordPress 支持多用户同时更新一个 Blog或 CMS,将其设为必须注册才能留言,这时需要创建新 用户。用户可以自己直接注册,管理员则在后台直接 管理用户。在上面介绍的“Authors&Users”页面,会 看到已经存在的用户列表,在用户列表下方就是新建 用户的表单,输入用户的名称、电子邮件、网址和密码

以及用户等级等内容。

WordPress的用户等级分为以下5类:

(1)Administartor  (管理员账号):拥有对整个后 台的所有操作权限。如图5所示

图 5 通过Zend Studio调试 WordPress

(2)Editor  (编辑者账号):可发表文章,并对CMS 内的所有文章、页面、留言进行编辑。

(3)Author  (作者账号):可发表文章,但只能对 自己的文章进行编辑。

(4)Contributor  (贡献者账号):可投递文章,只能 对自己的文章进行编辑。和作者账号不同的是,作者 是一个CMS的一员,而贡献者可能是一个热心网友 注册的账号,偶尔投递一两篇文章或评论。但这些文 章要在管理员审核之后才会发表出来。

(5)Subscriber  (订阅用户账号):对后台只有浏览 功能,以及设置自己的个人信息。

若设计的 WordPress 是多作者或开放注册的 CMS,在选择注册权限的时候就需注意。若是开放注 册的CMS, 建议设置为Subscriber, 然后再对相应的用 户进行权限设置。

3.管理用户。

在用户选项中,会列出一份已存在的用户列表, 可根据用户的等级进行过滤查看,也可用关键词进行  用户搜索,点击每个用户名,可对该用户的所有信息  进行更改,除了Username 用户名不能更改,也可以通  过勾选删除一个或批量删除多个用户。

对于个人博客用户来说,并不需要太多关注Us- ers 内容,但如果是开放注册的博客,一个良好的用户  分级和管理,将有助于博客的井然有序,如运用得当, 可以发展为很好的CMSI¹2]。

5   WordPress的安全性[10,13-14]

在构建任何网站时,安全性都极其重要,通过以下设置可对WordPress的安全性加以一定的保护,有 些设置可能很简单,但往往容易被忽略。对 Word- Press的安全性通常要注意以下内容:

( 1 ) 保 持 WordPress  程 序 是 最 新 版 本 以 避 免 bug。

(2)不允许任何人搜索到服务器信息,不要在 Search.php文件中使用搜索代码:<? php echo $_ SERVER['PHP_SELF'];?>   可用代码: php blog- info('home');?>  进行替代。

(3)阻止搜索引擎查找以 WP- 为开头的文件夹 内的文件。

最简单的阻止方法是在CMS根目录建立robots. txt 文件,并在里面添加如下代码:

Disallow:/wp-

Disallow:/*.php $Disallow:/?s=

Does anyone care I love Google Apache htaccess

(4)不要将目录以网页列表的形式暴露出来。

WordPress的一个潜在性的问题会使得其他用户 查看到CMS 的插件目录以及版本号,通常用两种方 法加以解决:

①在 plugins 和 themes  文件夹下面分别建一个名 为index.htm 的空文件。

②在htaccess 文件里添加规则:Options All-Inde-

xes。

(5)将版本号从Meta标签中删除。

一般来说,默认的WordPrss  及主题的 header.php   文件都会有版本号的meta 标签。这极易暴露因没有 及时升级旧版本的漏洞而让他人利用。建议删除该 标签,也可增加代码:

<meta name ="generator"content ="WordPress <?php bloginfo('version');?>"/>

(6)删除默认的 admin 用户。

WordPress中的默认管理员为 admin。建议在 CMS建成后,新建一个用户并设置为最高的管理权 限,以代替原有的admin,并把 admin删除,用户密码 的设置复杂一些。

(7)保护WordPress的重要文件。

建议将配置文件config.php  的权限设置为只读, 禁止他人通过网络非法获取并修改该文件而将  WordPress盗用。并在每次升级 WordPress 后,一定  要把 install.php    文件删除。

通过以上简单设置可以有效地减少非法入侵的 可能性。

6    CMS 发布

WordPress分为定时发布和远程发布。PHP 默认 的时间格式是标准的格林时间,若调整为北京时间可 更改后台主菜单“设置”内的选项,必须先开启Word-  Press的远程发布功能,可浏览 Writing Settings 模块, 然后勾选Remote Publishing 里的XML-RPC选项来开 启该功能。

7  结束语

CMS还在不断的发展之中,特别是在信息高速 增长的时代,内容管理系统将在未来的经济社会发展 中发挥越来越重要的作用,今后内容管理平台的焦点 是内容管理平台与使用者工具的整合,随着多媒体内 容资产的迅速增长,也将对信息交换与协同作业的重 视程度不断增加。一个优秀的内容管理系统将为各 部门构建一个具有良好扩展性、稳定性和高效率的信 息共享平台,而WordPress的广泛应用无疑是对CMS 锦上添花。

- THE END -
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论

您必须 后可评论