现在DEDECMS最新的5.7版本和5.7SP1版本后台都有个安全检测,data目录如果使用默认的名称,那么DEDE系统的安全肯定会大打折扣。相信大家都看到这样的提示:强烈建议将data目录搬移到Web根目录以外。
但是对于虚拟主机来说,有些虚拟主机限制,不给移动到web目录以外,那么为了最大限度的减少网站被攻击的可能,我们可以将data目录改名,这样也进一步减少了攻击的可能。具体操作如下:
1、修改include目录下的common.inc.php这个文件。打开文件,找到第16行:
define('DEDEDATA', DEDEROOT.'/data');
把data修改成为您要改的目录名,如:改为asdfg,那么则改为:
define('DEDEDATA', DEDEROOT.'/asdfg');
2、用FTP把data目录改名asdfg,也就是跟第一步改的文件名一样。
3、在网站后台,系统-系统基本参数-性能选项,“模板缓存目录:”改为:/asdfg/tplcache。
这样就基本改完成了,不过现在还有些问题。打开网站目录你会发现,自己跳到安装文件了。不用急,修改一下网站根目录的index.php这个文件,把文件最前面的几行注释掉,注释如下,也就是在代码前面加//:
//if(!file_exists(dirname(__FILE__).'/data/common.inc.php')) //{ // header('Location:install/index.php'); // exit(); //}
这样,你的网站就可以正常打开了。在后台更新的时候,还是有问题,网站地图跟RSS、JS这几项更新有问题,那么我们只需要在网站根目录下新建个data目录,然后data目录下再分别新建rss和js两个目录,这样就可以了,再更新一下看看,是不是都正常了呢?
注:上面提到的更改目录为asdfg,其中asdfg可以自由更换成你想要的目录名称。
将DedeCMS根目录下的data目录迁移到其他目录的方法
data目录是系统缓存和配置文件的目录,一般都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险,所以我们建议将这个data目录搬移出Web可访问目录之外。本篇将介绍如何将data目录搬移出Web访问目录。
注意:
本操作需要用户对DedeCms系统有较高的了解,如果您感觉自己不太掌握,可以考虑选择织梦管理员之家的相关服务。
1.将data目录转移到非Web目录
我们这里举例"D:dedecmsv57"为我们系统的根目录,我们需要将目录下的data文件夹(如图1)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。
我们移动上一级目录中,注意观察文件路径。
2.修改DEDEDATA目录的配置常量
找到系统目录下/include/common.inc.php文件,修改DEDEDATA常量为你的系统目录。
3.配置tplcache缓存文件目录
进入系统后台,在配置中修改tplcache目录为你想对目录。
这样我们就将data目录顺利迁移出去了。
注意:本操作目前仅在V57系统中测试有效,其他版本系统可能需要进行调整。