http://bbs.dedecms.com/read.php?tid=15538这是官方提供的万能防护代码,可是,这是很老的版本了,5.7里压根没有config_base.php这个文件,100分,献上,或者更多

解决方案 »

  1.   

    找到根目录index.php这种入口文件,或者每个入口都要引入的那个核心文件,贴在那里就行
      

  2.   

    是不是公共文件的意思,可以写到数据库文件里吗,比如common.inc.php
      

  3.   


    我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前
    common.inc.php 贴在开头 应该没问题
      

  4.   


    我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前
    common.inc.php 贴在开头 应该没问题

    用户提交?我是防止被挂马,网站做成后,想让网站不允许上传php文件,这样可以吗
      

  5.   


    我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前
    common.inc.php 贴在开头 应该没问题

    加上去后,后台直接打不开啊,去掉就打开了...
      

  6.   


    <?php
    //把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();
         }
      }
    }
    //下面是官方common.inc.php的所有内容,上面是我加的
    //数据库连接信息
    $cfg_dbhost = 'localhost';
    $cfg_dbname = 'junjun';
    $cfg_dbuser = 'root';
    $cfg_dbpwd = '';
    $cfg_dbprefix = 'dede_';
    $cfg_db_language = 'utf8';
    ?>
      

  7.   


    if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]);
    改成
    if(preg_match("/^cfg_|globals/",$key)) unset(${$ckv}[$key]);把
    if($fstr!='' && ereg("<\?",$fstr)){
    改成
    if($fstr!='' && preg_match("/<\?/",$fstr)){
      

  8.   

    <?php
    $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(preg_match("/^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!='' && preg_match("/<\?/",$fstr)){
               echo "你上传的文件中含有危险内容,程序终止处理!";
               exit();
         }
      }
    }//数据库连接信息
    $cfg_dbhost = 'localhost';
    $cfg_dbname = 'dzsite';
    $cfg_dbuser = 'root';
    $cfg_dbpwd = '';
    $cfg_dbprefix = 'dede_';
    $cfg_db_language = 'utf8';
    ?>
    最后变成酱紫,后台打开一片空白呀