dedecms下data日志mysql_error_trace.inc记录了很多MYSQL错误记录,如果你曾经在后台访问时候出现过MYSQL错误,就会暴露后台地址,因为这个文件文件名固定,很容易被人给扫到漏洞因此可以改名处理。
解决办法一
首先用FTP或远程登陆的方式将data/mysql_error_trace.inc更名成 mysql_error_你喜欢的任意字符.inc
然后打开 /include/dedesql.class.php和dedesqli.class.php
找到
mysql_error_trace.inc
把mysql_error_trace.inc更名成
mysql_error_你喜欢的任意字符.inc (请注意两处文件名对应)
解决方法二
通过服务器HTACCESS设置禁止DATA目录写入、执行
解决方法三
一劳永逸把DATA目录搬出WEB目录
通过FTP将/data/文件夹移至web根目录的上一级目录;
然后修改/include/common.inc.php中DEDEDATA变量,将:define('DEDEDATA', DEDEROOT.'/data'); 改为define('DEDEDATA', DEDEROOT.'/../data');
如果你首页是动态访问,那还要修改/index.php,删除如下代码(注:如果首页生成静态且index.html为默认访问地址可忽略此条修改。):
if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
header('Location:install/index.php');
exit();
}
修改tplcache缓存文件目录:登陆后台 > 系统 > 系统基本参数 > 性能选项,将模板缓存目录值改为 /../data/tplcache。