早上收到360的提示,说DedeCMS全局变量初始化存在漏洞,在硅谷动力上查到代码,但改后本地调试不能动行?

原foreach(Array('_GET','_POST','_COOKIE')as$_request){foreach($$_requestas$_k=>$_v)${$... 原 foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v)
${$_k} = _RunMagicQuotes($_v);
}
改为
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v)
{
if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) )
{
exit('Request var not allow!');
}
${$_k} = _RunMagicQuotes($_v);
}
完了在本地调试直接出现500错误,什么都打不开了,怎么回事儿
展开
 我来答
匿名用户
2011-09-24
展开全部
版本:DEDE所有版本,DEDE_v5,V5.3,V5.5

原因:要创建的目录或者文件没有写入权限

解决办法:

第一步,定位出错的文件,即查找生成什么文件时出的问题。

方法:修改 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");

重新生成栏目或者文档时,即可提示当前文件信息。

第二步,找到提示错误的目录或者文件,检查是否有写入权限,windows服务器请给予写入权限,linux服务器请给予777权限。如果目录或者文件不存在,请手工建立。

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

警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。

陈_启森
2011-10-05
知道答主
回答量:26
采纳率:0%
帮助的人:17.4万
展开全部
重新下载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式