data目录如果使用默认的名称给DEDE系统安全的隐患
分类: 织梦学习 发布者: 会员:虎哥
现在织梦DEDECMS网站建设,网络公司做网站的站长用的非常的多。最新的5.7版本和5.7SP1版本后台都有个安全检测,data目录如果使用默认的名称,那么织梦DEDECMS系统的安全肯定会大打折扣。相信大家都看到这样的提示:强烈建议将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两个目录,这样就可以了,再更新一下看看,是不是都正常了呢?
到了这里官方说教程已经完成,可是如果你信了那就麻烦了。你会碰到很多问题。这么草率的搬离问题很多的比如,我们常见的网站地图和生成的JS文件,全部会导致路径不正确。例如发现移动后有两点问题,第一、后台登陆不显示验证码了,第二、联动类别后台发布的时候不显示.移动后发布文章时候联动类别不显示和后台登陆不显示验证码。等等,即使你想要转移回去发现问题依然存在。其实真正正确的转移方法是:你需要把整个程序里所有关于调用到'/../data' 的部分全部换掉。而不仅仅是上面官方说的那几个。下面就挨个说下经常碰到的问题解决方法。
转移data目录后验证码不显示或者输入验证码一直提示错误
不显示验证码的同学请改一下/include/vdimgck.php这个文件 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径。
$im = @imagecreatefromjpeg(dirname(__FILE__).'/data/vdcode.jpg');
首页index.php文件也需要修改
还需要把首页中index.php中的/data/改为/../data。也就是下面这句。
if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
header('Location:install/index.php');
exit();
}