个人建站一般考虑织梦,因为比较简单,但是安全问题一直是织梦的硬伤,安全配置是必须做的
本站也专门列了一个安全教程,自己也是一直照着这个做的
最近发现安全教程中的data目录迁移和dede目录改名并不是教程中说的那样修改就完事了,下面总结了data目录迁移后还需要作的修改
开始先放上原教程:织梦cms安装设置,dedecms如何防止被黑
关于遇到的问题,主要有:比如验证码问题,图片显示问题等等一大堆。
这里跟总结一下完整版本的如何将dede织梦data目录正确迁移,以及迁移出现问题的解决办法。
一、将data目录转移到非Web目录
1.转移目录
我们这里举例“D:\dedecms\web”为我们系统的根目录,我们需要将目录下的data文件夹(如图1)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。
我们移动上一级目录中,注意观察文件路径。
2.修改dedeDATA目录的配置常量
找到系统目录下/include/common.inc.php文件,修改dedeDATA常量为你的系统目录。
3.配置tplcache缓存文件目录
进入系统后台,在系统配置中修改模板缓存目录tplcache目录为你相对的目录,比如/../db/data/tplcache
修改网站的首页文件index.php中的/data/common.inc.php也为相对的目录,比如/../db/data/common.inc.php
按教程搬离后问题来了,比如,我们常见的网站地图和生成的JS文件,全部会导致路径不正确。例如发现移动后有两点问题,第一、后台登陆不显示验证码了,第二、联动类别后台发布的时候不显示.移动后发布文章时候联动类别不显示和后台登陆不显示验证码。等等,即使你想要转移回去发现问题依然存在。
二、迁移data目录后续处理
这里给大家提供的方法是:你需要把整个程序里所有关于调用到'/../data' 的部分全部换掉。而不仅仅是上面官方说的那几个。下面就挨个说下经常碰到的问题解决方法。
问题1:转移data目录后验证码不显示或者输入验证码一直提示错误
不显示验证码的同学请改一下/include/vdimgck.php这个文件 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径。
$im = @imagecreatefromjpeg(dirname(__FILE__).'/data/vdcode.jpg');
问题2:转移data目录后搜索引擎无法抓取地图和RSS
dedeCMS默认生成的rss地图以及网站地图等都是生成在DATA的文件夹中,但是这个是一个非常重要的文件夹,一般我们在 Robots.txt 是禁止搜索引擎爬行这文件夹的,这就造成了,我们生成了地图,但是搜索根本就找不到的尴尬,下面就教大家如何更改自动生成的目录
下面是详细的步骤:
1,首先登录ftp,在根目录下建立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
将57行的
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
改成
$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";
将94行的
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
改成
$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";
5,修改/templets/default模板文件head.htm(这里以默认模板为例子,其他模板类似)
在11行左右找到
<li class="r3"><a href="{dede:global.cfg_dataurl