会员登录 | 注册

来去留技术信息资源

来去留技术信息资源
来去留网 > 去看信息 > 程序系统 > 来安装DedeCms 万能安全防护代码

来安装DedeCms 万能安全防护代码

2014-07-31 16:39来源:未知发布者:laiquliu 查看:
为了让大家的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','_POST','_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]);
          }
          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();
     }
  }
}

 

这样处理之后,安全上理论上可中做到一劳永逸,但缺点是使用此功能后,不能在线上传PHP文件,如果你的站点同时支持asp、aspx等,在此基础上修改一下上述代码即可 (责任编辑:laiquliu)

关注技术,信息,资源,扫描来去留网微信二维码交流。

来去留我李俊

搜索

------分隔线----------------------------
相关栏目

热点推荐
来去留技术信息资源
来去留网为您提供平台咨询交流学习方法及各类热门技术;电器,服装,保健,行业快讯等二十几个类别的资讯