新型SEO思维就是从一个全新的层次上提升seo优化的水平,达到网络信息最佳化的展示效果!
马海祥博客 > 网站制作 > CMS管理系统 > 安全正确转移网站data目录文件的具体方法步骤

安全正确转移网站data目录文件的具体方法步骤

时间:2013-07-19   文章来源:www.mahaixiang.cn   访问次数:

鉴于昨日马海祥博客被挂马的教训,今后我会给大家多分享一些网站安全设置的方法。说到网站安全的问题,那就不得不先说下data目录文件了,data目录是系统缓存和配置文件的目录,一旦此目录文件被攻击后,那对网站可能就是致命的了,一般来说,data目录都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险。所以马海祥建议大家将这个data目录搬移出Web可访问目录之外。所以今天我要在马海祥博客平台上给大家分享的就是如何将data目录搬移出Web访问目录。

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

1、首先将data目录转移到非Web目录下

我们这里以“D:\dedecms\v57”为例,当作我们系统的根目录,我们需要将目录下的data文件夹(如下图)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

我们移动上一级目录中,注意观察文件路径,此时我们将“D:\dedecms\v57”转移为“D:\dedecms\”。

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

2、修改DEDEDATA目录的配置常量文件

找到系统目录下/include/common.inc.php文件,修改DEDEDATA常量为你的系统目录(如下图),也就是将默认的“define('DEDEDATA', DEDEROOT.'/data');”改成“define('DEDEDATA', DEDEROOT.'/../data');”

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

3、配置tplcache缓存文件目录

进入系统后台,在配置中修改tplcache目录为你想对目录。如下图所示:

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

按照以上三个步骤,可以说我们已经基本完成了data目录的转移了。那么接下来你可能会发现我们常用的网站地图和生成的JS文件,可能会显示路径不正确;后台登陆不显示验证码了;移动后发布文章时候联动类别不显示和后台登陆不显示验证码的问题。即使你想要转移回去,可发现问题也依然存在。

对于这种情况,我们还需要把整个程序里所有关于调用到'/data'改成'/../data' 。而不仅仅是上面官方说的那几个。下面马海祥就挨个说下以上所提到问题的解决方法:

1、转移data目录后验证码不显示或者输入验证码一直提示错误

不显示验证码的站长请改一下“/include/vdimgck.php”文件,也要修改一下调用的DATA路径,找到“$im = @imagecreatefromjpeg(dirname(__FILE__).'/data/vdcode.jpg');”的代码,改成你网站现在的路径,如下图所示:

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

2、首页index.php文件无法正常显示

对于这种情况,还需要把首页中index.php中的/data/改为/../data。如下图所示:

安全正确转移网站data目录文件的具体方法步骤-马海祥博客

3、网站地图和JS文件的显示路径错误

DEDECMS默认生成的rss地图以及网站地图一般都是生成在DATA的文件夹中,但是这个是一个非常重要的文件夹,一般我们在Robots.txt设置中是禁止搜索引擎爬行这文件夹的,这就造成了一方面是data目录转移而找不到准确的路径;另一方面,我们禁止了搜索引擎的蜘蛛爬取的低级错误。对于这个问题,马海祥也在这跟大家分享一个两全其美的办法。

其具体的方法步骤是:

(1)、在根目录下建立rss文件夹。

(2)、修改根目录下你的管理员文件夹(默认是dede)下的makehtml_map.php文件。

  将17行的$cfg_cmspath."/data/sitemap.html";改为:$cfg_cmspath."/sitemap.html";

  将22行的$cfg_cmspath."/data/rssmap.html";改为:$cfg_cmspath."/rssmap.html";

注:17行是普通网站地图,22行是RSS的网站地图

(3)、修改根目录下include下面的arc.rssview.class.php

  将71行的$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";
          改为:
    $murl = $GLOBALS['cfg_cmspath']."/rss/".$this->TypeID.".xml";

(4)、修改根目录下include下的sitemap.class.php

  将74行的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml"; 改为:$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";

  将118行的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml"; 改为:$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";

(5)、修改/templets/default模板文件head.htm


  <li class="r3"><a href="{dede:global.cfg_dataurl/}/data/sitemap.html">网站地图</a></li>
  <li class="r4"><a href="{dede:global.cfg_dataurl/}/data/rssmap.html">RSS订阅</a></li>
  改为:
  <li class="r3"><a href="{dede:global.cfg_cmsurl/}/sitemap.html">网站地图</a></li>
  <li class="r4"><a href="{dede:global.cfg_cmsurl/}/rssmap.html">RSS订阅</a></li>

最后,进入后台,更新网站地图,更新RSS文件,更新主页即可。

好了,按照以上的步骤,我们就将data目录顺利迁移出去了。如果现在你网站的data目录还在web根目录下的话,为了网站的安全,也不妨也赶快迁移一下吧!

本文为马海祥博客原创文章,如想转载,请注明原文网址摘自于http://www.mahaixiang.cn/CMS/240.html,注明出处;否则,禁止转载;谢谢配合!

相关热词搜索: data目录 转移data文件 data转移方法

上一篇:首页显示空白,页面提示无法找到function lib_dsv函数的解决方法
下一篇:修改网站后台管理员用户名admin的具体操作方法汇总

今日话题更多>

SEO研究院 更多 >>