一劳永逸的织梦(dedecms)安全代码
发布时间:2020-12-14 05:01:52 所属栏目:Dedecms 来源:网络整理
导读:为了让大家的CMS更安全,有需要的手工在config_base.php里加上 打开 config_base.php 找到 //禁止用户提交某些特殊变量 $ckvs = Array('_GET','_POST','_COOKIE','_FILES'); foreach($ckvs as $ckv){ ? if(is_array($$ckv)){ ??? foreach($$ckv AS $key = $va
为了让大家的CMS更安全,有需要的手工在config_base.php里加上 打开 config_base.php 找到 //禁止用户提交某些特殊变量 $ckvs = Array('_GET','_POST','_COOKIE','_FILES'); foreach($ckvs as $ckv){ ? if(is_array($$ckv)){ ??? foreach($$ckv AS $key => $value) ????? if(eregi("^(cfg_|globals)",$key)) unset(${$ckv}[$key]); ? } } 改为下面代码 //把get、post、cookie里的 替换成 $ckvs = Array('_GET','_COOKIE'); foreach($ckvs as $ckv){ ? if(is_array($$ckv)){ ??? foreach($$ckv AS $key => $value) ????? if(!empty($value)){ ??????? ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value); ??????? ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);?内容来自dedecms? ????? } ????? if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]); ? } } //检测上传的文件中是否有PHP代码,有直接退出处理 if (is_array($_FILES)) { foreach($_FILES AS $name => $value){ ? ${$name} = $value['tmp_name']; ? $fp = @fopen(${$name},'r'); ? $fstr = @fread($fp,filesize(${$name})); ? @fclose($fp); ? if($fstr!='' && ereg("",$fstr)){ ????? echo "你上传的文件中含有危险内容,程序终止处理!"; ????? exit(); ? } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |