DedeCms 萬能安全防護代碼_DedeCms教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      為了讓大家的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等,在此基礎上修改一下上述代碼即可

      考慮到dede如果出現問題把損失減到最小,原本在高級支持區發的內容轉移給大家共享

      官方原帖:http://bbs.dedecms.com/read.php?tid=15538&fpage=2

      查看更多 DedeCms教程  織夢模板  織夢DedeCms視頻教程  織夢dedecms專題

      來源:DEDECMS論壇//所屬分類:DedeCms教程/更新時間:2008-03-07
      相關DedeCms教程