一劳永逸的织梦(dedecms)安全代码

一劳永逸的织梦(dedecms)安全代码,第1张

概述为了让大家的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( 为了让大家的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();
  }
}
} 总结

以上是内存溢出为你收集整理的一劳永逸的织梦(dedecms)安全代码全部内容,希望文章能够帮你解决一劳永逸的织梦(dedecms)安全代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1059561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存