POST TIME:2021-05-24 02:58
//禁止用戶提交某些特殊變量 $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(); } } }第十、最安全的方式:本地發(fā)布html,然后上傳到空間。不包含任何動態(tài)內容,理論上最安全,不過維護相對來說比較麻煩。