用DEDECMS搭建网站的安全篇:默认模板路径漏洞

用DEDECMS搭建网站的安全篇:默认模板路径漏洞,第1张

dede数据库字段说明,dede_addonarticle 附加文章表,操作方法如下:

1、首先登录dedecms网站后台,在“核心”模块下找到“网站栏目管理”,如下图所示。

2、然后在“栏目管理中”增加顶级栏目。

3、接着在常规选项中填写栏目名称,文件保存目录和目录相对位置。

4、栏目内容可填写可不填写,如果填写,可以在栏目页通过“{dede:fieldcontent}”调用。

5、设置好后,点击保存,这样就成功新建了一个顶级栏目,如下图所示就完成了。

那就是你的栏目模板不存在,有可能是你的模板名称写错了,只能是以“htm”结尾,不是“html”结尾,还有就是你的栏目模板设置那地方写错模板名称了,如果你是单独更新一个栏目的话,那你好好看看栏目模板设置那,看是否写正确,是否和你的模板名称对应。如果是批量更新那你要一个个栏目更新,找出来是哪个栏目,然后再按上面说的去排查!

一般是你网站程序有漏洞才会被挂马的,有些木马代码直接隐藏在DEDECMS的主程序里。建议你找专业做网站安全的sinesafe来给你解决。

建站一段时间后总能听得到什么什么网站被挂马,什么网站被黑。好像入侵挂马似乎是件很简单的事情。其实,入侵不简单,简单的是你的网站的必要安全措施并未做好。

有条件建议找专业做网站安全的sine安全来做安全维护。

一:挂马预防措施:

1、建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。

2、定期对网站进行安全的检测,具体可以利用网上一些工具,如sinesafe网站挂马检测工具!

序,只要可以上传文件的asp都要进行身份认证!

3、asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。

4、到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。

5、要尽量保持程序是最新版本。

6、不要在网页上加注后台管理程序登陆页面的链接。

7、为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过ftp上传即可。

8、要时常备份数据库等重要文件。

9、日常要多维护,并注意空间中是否有来历不明的asp文件。记住:一分汗水,换一分安全!

10、一旦发现被入侵,除非自己能识别出所有木马文件,否则要删除所有文件。

11、对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。这其中包括各种新闻发布、商城及论坛程

二:挂马恢复措施:

1修改帐号密码

不管是商业或不是,初始密码多半都是admin。因此你接到网站程序第一件事情就是“修改帐号密码”。帐号

密码就不要在使用以前你习惯的,换点特别的。尽量将字母数字及符号一起。此外密码最好超过15位。尚若你使用

SQL的话应该使用特别点的帐号密码,不要在使用什么什么admin之类,否则很容易被入侵。

2创建一个robotstxt

Robots能够有效的防范利用搜索引擎窃取信息的骇客。

3修改后台文件

第一步:修改后台里的验证文件的名称。

第二步:修改connasp,防止非法下载,也可对数据库加密后在修改connasp。

第三步:修改ACESS数据库名称,越复杂越好,可以的话将数据所在目录的换一下。

4限制登陆后台IP

此方法是最有效的,每位虚拟主机用户应该都有个功能。你的IP不固定的话就麻烦点每次改一下咯,安全第一嘛。

5自定义404页面及自定义传送ASP错误信息

404能够让骇客批量查找你的后台一些重要文件及检查网页是否存在注入漏洞。

ASP错误嘛,可能会向不明来意者传送对方想要的信息。

6慎重选择网站程序

注意一下网站程序是否本身存在漏洞,好坏你我心里该有把秤。

7谨慎上传漏洞

据悉,上传漏洞往往是最简单也是最严重的,能够让黑客或骇客们轻松控制你的网站。

可以禁止上传或着限制上传的文件类型。不懂的话可以找专业做网站安全的sinesafe公司。

8 cookie 保护

登陆时尽量不要去访问其他站点,以防止 cookie 泄密。切记退出时要点退出在关闭所有浏览器。

9目录权限

请管理员设置好一些重要的目录权限,防止非正常的访问。如不要给上传目录执行脚本权限及不要给非上传目录给于写入权。

10自我测试

如今在网上黑客工具一箩筐,不防找一些来测试下你的网站是否OK。

11例行维护

a定期备份数据。最好每日备份一次,下载了备份文件后应该及时删除主机上的备份文件。

b定期更改数据库的名字及管理员帐密。

c借WEB或FTP管理,查看所有目录体积,最后修改时间以及文件数,检查是文件是否有异常,以及查看是否有异常的账号。

网站被挂马一般都是网站程序存在漏洞或者服务器安全性能不达标被不法黑客入侵攻击而挂马的。

网站被挂马是普遍存在现象然而也是每一个网站运营者的心腹之患。

您是否因为网站和服务器天天被入侵挂马等问题也曾有过想放弃的想法呢,您否也因为不太了解网站技术的问题而耽误了网站的运营,您是否也因为精心运营的网站反反复复被一些无聊的黑客入侵挂马感到徬彷且很无耐。有条件建议找专业做网站安全的sine安全来做安全维护。

织梦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

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语句来批量修改!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 用DEDECMS搭建网站的安全篇:默认模板路径漏洞

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情