建站我用谁:帝国cms和dedecms对比怎么样
DEDE CMS 是免费开源的。以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,版本无论在功能,还是在易用性方面,都有了长足的发展和进步。
DEDE CMS是存在一定的漏洞。梦作为一个国内开源cms,社区缺乏更好技术支持和环境,所以漏洞频发。
2011-8-19,DedeCMS全局变量初始化存在漏洞。描述:可能导致黑客利用漏洞侵入使用Dede CMS的网站服务器,造成网站用户数据泄露、页面被恶意篡改等严重后果。
2012-3-21,DedeCMS官方源码被植入后门 。描述:导致黑客可以执行任意代码从而控制整个网站或服务器。
2013-3-29,DedeCMS安全漏洞。描述:“本地文件包含漏洞”,发现时为“0day”,官方已修复。
扩展资料:
dedecms优缺点分析:
优点:
易用:使用织梦你可以用十分钟学习它,十分钟搭建一个。完善:织梦基本包含了一个常规网站需要的一切功能。丰富的资料:作为一个国内cms,织梦拥有完善的中文学习资料。丰富的模版:织梦拥有大量免费的漂亮模版,可以自由的使用它们。
缺点:
缺乏灵活性:高度的功能集成造成了织梦灵活性的缺失,所以织梦扩展性并不是很好。安全:织梦作为一个国内开源cms,社区缺乏更好技术支持和环境,所以漏洞频发。社区:织梦的官方社区是收费的,这对于一个开源项目来说本身就是一个问题。
-织梦
dede数据库字段说明:dede_addonarticle 附加文章表
aid int(11) 文章编号
typeid int(11) 分类栏目编号
body mediumtext 文章内容
dede_addonflash 附加Flash表
aid int(11) FLASH编号
typeid int(11) 分类栏目编号
filesize varchar(10) 文件大小
playtime varchar(10) 播放时长
flashtype varchar(10) 作品类型
flashrank smallint(6) 作品等级
width smallint(6) 影片宽度
height smallint(6) 影片高度
flashurl varchar(80) FLASH地址
dede_addonimages 附加图集表
aid int(11) 图集编号
typeid int(11) 分类栏目编号
pagestyle smallint(6) 表现方式(1单页显示 2分多页显示 3多行多列展示)
maxwidth smallint(6) 大图限制宽度
imgurls text 集内容(标签存放)
row smallint(6) 多列式参数(行)
col smallint(6) 多列式参数(列)
isrm smallint(6) 是否下载远程
ddmaxwidth smallint(6) 小宽度限制
dede_addonsoft 附加软件表
aid int(11) 软件编号
typeid int(11) 分类栏目编号
filetype varchar(10) 文件类型
language varchar(10) 界面语言
softtype varchar(10) 软件类型
accredit varchar(10) 授权方式
os varchar(30) 运行环境
softrank int(11) 软件等级
officialUrl varchar(30) 官方网址
officialDemo varchar(50) 程序演示地址
softsize varchar(10) 软件大小
softlinks text 软件下载链接列表
introduce text 软件介绍
dede_addonspec 附加专题表
aid int(11) 专题编号
typeid int(11) 分类栏目编号
note text 专题内容(仅存放标签代码)
dede_admin管理员信息表
ID int(10) 自动编号
usertype int(10) 用户类型
userid varchar(30) 用户登录ID
pwd varchar(50) 用户密码
uname varchar(20) 用户笔名
tname varchar(30) 真实姓名
email varchar(30) 电子邮箱
typeid int(11) 负责频道(0表示全部)
logintime datetime 登录时间
loginip varchar(20) 登录IP
dede_admintype 系统用户组管理表
rank smallint(6) 组级别编号
typename varchar(30) 组名称
system smallint(6) 是否为系统默认组
purviews text 权限列表
dede_arcatt文档自定义属性表
att smallint(6) 编号
attname varchar(30) 属性名称
dede_archives 文章表
ID int(11) 自动编号
typeid int(11) 所属主栏目编号
typeid2 int(11) 所属副栏目编号
sortrank int(11) 文章排序(置顶方法)
iscommend smallint(6) 是否推荐
ismake smallint(6) 是否生成静态
channel int(11) 文章所属模型
arcrank smallint(6) 阅读权限
click int(11) 点击次数
money smallint(6) 消费点数
title varchar(80) 标题
shorttitle varchar(36) 简略标题
color varchar(10) 标题颜色
writer varchar(30) 作者
source varchar(50) 来源
litpic varchar(100) 缩略图
pubdate int(11) 录入时间
senddate int(11) 发布时间
arcatt smallint(6) 自定属性(att)
adminID int(11) 发布管理员ID
memberID int(11) 发布会员ID
description varchar(250) 摘要
keywords varchar(60) 关键词
templet varchar(60) 文档模板
lastpost int(11) 最近评论时间
postnum int(11) 评论数目
redirecturl varchar(150) 跳转网址
mtype int(11) 用户自定义分类
userip varchar(20) 用户IP
locklikeid smallint(6) 是否锁定相关文章
likeid varchar(240) 相关文章ID
dede_arcrank 阅读权限表
ID int(10) 自动编号
rank smallint(10) 权限等级
membername varchar(20) 等级名称
adminrank smallint(10) 管理等级
money int(11) 消费点数
dede_arctype 栏目管理表
ID int(10) 栏目编号(自动编号)
reID int(10) 父栏目编号
topID int(10)
sortrank smallint(6) 排序编号
typename varchar(30) 栏目名称
typedir varchar(100) 栏目目录
isdefault smallint(6) 栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)
defaultname varchar(20) 默认页的名称
issend smallint(6) 是否支持投稿
channeltype smallint(6) 频道类型
maxpage int(11) 保留
ispart smallint(6) 栏目属性
corank smallint(6) 浏览权限
tempindex varchar(60) 封面模板
templist varchar(60) 列表模板
temparticle varchar(60) 文章模板
tempone varchar(60) 单独页面模板
namerule varchar(50) 文章命名规则
namerule2 varchar(50) 列表命名规则
modname varchar(30) 模板名称
description varchar(200) 栏目介绍
keywords varchar(100) 关键词
moresite smallint(6) 多站点支持
siterefer smallint(6) 多站点站点根目录属性
sitepath varchar(60) 多站点站点根目录
siteurl varchar(60) 多站点绑定域名
ishidden smallint(6) 是否隐藏栏目
dede_sgpage 单页
上面是一些常用字段,可以在dede后台-》系统-》SQL命令行工具执行sql语句来批量修改!
接触帝国cms已经有一些时间了,最近又接触了dedecms,下边就说说最新的感受。
1首先从模板方面来说,dedecms的免费模板还是比较多的,这个得益于广大的dede用户共享。dede的官方模板可以直接使用。而帝国的官方提供的模板是table格式的,比较偏老了。当然如果你有一定html和css基础的还是自己来做的好,毕竟dedecms官方默认模板对于百度收录来讲并不是很好了现在。
2论坛的人气,帝国cms和dedecms的人气还都可以,热心程度感觉帝国cms比dedecms高些。
3版本的更新,帝国以大版本形式更新,dedecms以小版本形式更新,总体来说dede版本快于帝国。
4安全方面:dedecms关注的人比较多,市场占有率相当的高,因而成为黑客的挂马对象,入侵率比较高,容易被黑,而帝国cms而言安全方面则比较好。
5说说使用者最关心的模板制作方面:dedecms的模板标签设计相对帝国cms来说比较更容易入手,从本人自己制作的网站对比,相同的模板页数,dedecms的模板制作速度要快于帝国cms。
6seo优化方面,dedecms要比帝国cms稍胜一筹。
7伪静态生成速度,由于小数据量,无法对比出效果。不过从帝国cms最新的动态来看,才用新结构的帝国cms对于海量数据的处理更有优势。
8模板修改方面,由于帝国的模板在后台进行编辑,要比dedecms的更方便修改。
9个人对比,两个站分别用dedecms和帝国cms收录相对较快的是帝国cms,这个可能跟网站性质和结构内容运作也有关系。
织梦DedeCms全站伪静态,是为了更方便管理和SEO,织梦DedeCms默认是生成静态html文件的,对于优化已经非常友好,但还是有部分页面是动态形式的(比如:Tag标签页面、网站内容搜索页面、DedeCms问答页面等),为了是这些页面更好的被搜索引擎收录,就需要进行伪静态了,虽然织梦DedeCms系统可以生成静态html文件,但如果每天更新内容量特别大的话,对于生成html文件也成为系统和人力的一个负担,那么也可以做成伪静态形式,这样就免去了不断繁琐的生成html文件了。
将DedeCms全站静态化,这就需要mod_rewrite伪静态模块的支持。只要站长对htaccess正则表达式精通,就可以把dede整站静态
化,更符合搜索引擎,而且还可以避免重复URL来。DedeCms全站伪静态配置有些麻烦,主要是需要我们手动修改源代码。整理步骤如下:
1、首先开启站点伪静态功能。登录dede管理员后台->系统->系统基本参数->核心设置->是否使用伪静态 请选择“是”。
2、修改源程序,实现首页伪静态、频道页伪静态、列表页伪静态、文章页伪静态,这是过程比较复杂,不如其它php开源程序操作简单。
3、制作编写htaccess和htaccess文件规则,上传到DedeCms的安装目录。
织梦DedeCms全站伪静态教程:含列表|文章|问答|搜索|TAG伪静态规则:
1、网站服务器和网站空间是否支持伪静态:
这点特别重要,要么所以设置都不起作用。如果你的网站使用的是服务器,那么就可以自己动手设置一下,如果是空间的话,可以询问下IDC服务商客服,看是否
支持伪静态(一般空间都是支持伪静态的)。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪
静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。
2、开启DedeCMS伪静态:
1)织梦DedeCms后台-系统参数-核心设置-是否使用伪静态:选择“是”;
2)如果你启用了织梦DedeCms问答模块,则在后台-系统参数-模块设置-是否使用Rewrite:选择“是”;
3)创建栏目或批量增加栏目时,栏目列表选项:选择“使用动态页”; 添加新文章时,发布选项:选择“仅动态浏览 ”。同样你也可以更改他们的模板,让他们默认就是这两个值,一劳永逸。修改方法很简单,方法如下:
找到后台文件:/dede/templets/catalog_addhtm 修改添加栏目时默认“使用动态页”
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' checked="checked" />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' class='np' />使用动态页</td>
改为下面代码
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' checked="checked" class='np' />使用动态页</td>
找到后台文件:/dede/templets/article_addhtm 修改添加文章时默认“仅动态浏览”
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0"/>仅动态浏览 </td>
改为下面代码
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked="1"/>仅动态浏览 </td>
4)如果网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具 中执行如下语句:
update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;
注:命令中dede是网站安装时的数据表前缀,根据实际情况进行替换。
3、开启DedeCms伪静态支持并不能完全在后台配置,有很多地方还是需
要手动修改的。下面讲解DedeCms全站伪静态的实现方法,适用于V53以上版本。这次的DedeCms伪静态测试环境是Windows
IIS6,对于Linux或其它服务器的伪静态实现原理都是一样的,只要搞清楚思路就行。
1)DedeCms首页伪静态:
把站点根目录下indexhtml删除,以后不更新主页HTML就可以了,当然你也可以选择不使用动态首页。
2)DedeCms频道|列表页|文章页伪静态:
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V53、DedeCms
V55和DedeCms V56版本,打开/include/channelunitfuncphp进行修改。注意:DedeCms
V57,此文件路径更改了,你打开/include/helpers/channelunithelperphp即可。
A将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;
替换为
//动态
$reurl = "/category/list-"$typeid"html";
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1html形式。
B将GetFileName()中的如下代码:
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return "/archives/view-"$aid'-1html';
}
将文章页默认的/plus/view-1-1html链接格式改为/archives/view-1-1html,随个人喜好,不改也行。
3)DedeCms列表分页伪静态:
打开/include/arclistviewclassphp,找到获取动态的分页列表GetPageListDM()函数末尾处:
$plist = str_replace('phptid=', '-', $plist);
替换为
$plist = str_replace('plus', 'category', $plist);//将默认的plus替换成category
$plist = str_replace('phptid=', '-', $plist);
将列表分页默认链接格式/plus/list-1-2-1html修改为/category/list-1-2-1html,这步也可以不作更改。
4)DedeCms文章分页伪静态:
打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾片:
$PageList = str_replace("phpaid=","-",$PageList);
替换为
$plist = str_replace('plus', 'archives', $plist);//将默认的plus替换成archives
$PageList = str_replace("phpaid=","-",$PageList);
这步不作修改也可以,只是个人喜好问题。
5)DedeCmsTAG标签伪静态:
DedeCms默认的TAG标签URL,形如/tagsphp/dedecms57/,特别的难看。打开/include/taglib/taglibphp,找到lib_tag()函数下的:
$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";
替换为
$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";
到这里,TAG标签URL中的“php”号就去掉了。
6)DedeCms搜索伪静态:
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。将搜索URL中“searchphp…”直接替换为“searchhtml…”,至于“”号之后的参数以任意字符进行匹配。
依次打开include文件夹下的channelunitfuncphp、arcsearchviewclassphp、
arctaglistclassphp以及/include/taglib/hotwordslibphp,查找“searchphp”替
换为“searchhtml”即可。
7)DedeCms问答伪静态:
问答模块的伪静态实现比较简单,只要后台开启伪静态支持即可,至于个别页面,如ask目录下的browserphp、questionphp以及
include目录下的commonincphp、functionsincphp都需要简单修改才可以匹配伪静态规则。注意一
点,DedeCms V57问答模块整体升级了,之前的规则已经不适用了。
4、DedeCms伪静态规则:
依照上面的步骤修改完毕,接下来配置好httpdini文件和htaccess文件伪静态规则,则DedeCms全站伪静态就完美实现。
1)IIS伪静态
打开httpdini文件,加入如下规则:
#首页伪静态规则,如果不使用动态首页,请勿必删除这一行,否则打开首页会出现死循环
RewriteRule ^()/index\html $1/index\php [I]
#列表页伪静态规则
RewriteRule ^()/category/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]
RewriteRule ^()/category/list-([0-9]+)-([0-9]+)-([0-9]+)\html
$1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]
#文章页伪静态规则
RewriteRule ^()/archives/view-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]
#搜索伪静态规则
RewriteRule ^()/search\html(:(\)) $1/search\php$2 [I]
#TAG标签伪静态规则
RewriteRule ^()/tags\html $1/tags\php [I]
RewriteRule ^()/tags/()(:(\)) $1/tags\php\\/$2 [I]
RewriteRule ^()/tags/()\/(:(\)) $1/tags\php\\/$2\/ [I]
RewriteRule ^()/tags/()\/([0-9])(:(\)) $1/tags\php\\/$2\/$3 [I]
RewriteRule ^()/tags/()\/([0-9])\/(:(\)) $1/tags\php\\/$2\/$3\/ [I]
#问答伪静态规则,适用于DedeCmsV53-56版本,需要修改几处程序
RewriteRule ^()/post\html $1/post\php [I]
RewriteRule ^()/type\html $1/type\php [I]
RewriteRule ^()/question-([0-9]+)\html $1/question\php\id=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)\html $1/browser\php\tid=$2 [I]
RewriteRule ^()/browser-2-([0-9]+)\html $1/browser\php\tid2=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&page=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&page=$3 [I]
RewriteRule ^()/browser-([0-9]+)\html $1/browser\php\lm=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&lm=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&lm=$3 [I]
2)Apache伪静态:
打开htaccess文件,加入如下规则:
#提供部分规则作参考
RewriteRule ^category/list-([0-9]+)\html$ /plus/listphptid=$1
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\html$ /plus/listphptid=$1&totalresult=$2&PageNo=$3
RewriteRule ^archives/view-([0-9]+)-([0-9]+)\html$ /plus/viewphpaid=$1&pageno=$2
RewriteRule ^indexhtml$ indexphp
一经常检查网站数据
一般被挂马的网站大部分是长期无人管理维护的网站,尤其是一些企业网站,包括前文提到的我的2个被挂马的网站就是由于一些原因长期没有管理维护的原因,后来是域名要到期了续费之后顺便检查下了网站就发现被挂黑链了。目前黑链市场依然还很火爆,所以尽量定期抽出时间检查下你不常更新的网站。
二dedecms系统漏洞
由于dedecms的流行,用dedecms仿站成了被黑客攻击的目标之一,从dedecms51到现在的57,依然有部分漏洞,用dedecms做的网站要注意以下几点,
1修改默认后台(dede)路径
2删除install安装目录
3如果不需要使用会员可以直接删除member目录
大部分黑客入侵dedecms网站就是利用会员投稿功能,上传木马文件。
三禁止重要文件和目录被执行、写入
dedecms系统网站可以做如下设置
1以下目录:data、templets、uploads、a设置可读写不可执行权限。
2以下目录:include、member、plus、dede设置为可读可执行不可写入权限。
目前很多使用discuz和phpwind制作的网站也被入侵就是由于重要目录和文件权限没有设置好。
四网站被入侵以后如何处理
1用备份文件覆盖
2没有备份的话,找出最近被修改的文件,查看这些文件是否包含恶意代码。
3找出网站程序多出的文件,重点注意网站根目录是否有未知文件。
五ftp和服务器安全设置
建议使用linux服务器,ftp和服务器用户名和密码要设置复杂点,尽量用字母+数字+特殊符号,使用独立服务器或者vps的要详细了解服务器安全配置方面的教程,确保服务器安全。
0条评论