PHP用正則匹配字符串中的特殊字符防SQL注入


本文出至:新太潮流網絡博客

/**
* [用正則匹配字符串中的特殊字符]
* @E-mial wuliqiang_aa@163.com
* @TIME   2017-04-07
* @WEB    http://blog.iinu.com.cn
* @param  [data] $str [要匹配的任何數據]
* @return [type]      [description]
*/ function is_string_regular($str) { $pregs = '/select|insert|update|CR|document|LF|eval|delete|script|alert|\'|\/\*|\#|\--|\ --|\/|\*|\-|\+|\=|\~|\*@|\*!|\$|\%|\^|\&|\(|\)|\/|\/\/|\.\.\/|\.\/|union|into|load_file|outfile/'; if(is_array($str)){ if(TestArray($str) == 1){ //一維數組 foreach($str as $k=>$v){ //遍歷 $check= preg_match($pregs,$v); if($check == 1){ $int_arr = array('status'=>1,'result'=>$str,'message'=>'檢測含有特殊字符'); }else{ $int_arr = array('status'=>0,'result'=>$str,'message'=>'檢測沒有特殊字符'); } } }else if(TestArray($str) == 2){ //二維數組 foreach($str as $k=>$v){ foreach($v as $ks=>$vs){ //遍歷 $check= preg_match($pregs,$v); if($check == 1){ $int_arr = array('status'=>1,'result'=>$str,'message'=>'檢測含有特殊字符'); }else{ $int_arr = array('status'=>0,'result'=>$str,'message'=>'檢測沒有特殊字符'); } } } } }else if(is_string($str)){ //字符串 $check= preg_match($pregs,$str); if($check == 1){ $int_arr = array('status'=>1,'result'=>$str,'message'=>'檢測含有特殊字符'); }else{ $int_arr = array('status'=>0,'result'=>$str,'message'=>'檢測沒有特殊字符'); } } return $int_arr; }
/**
 * [TestArray 檢測數組是一維還是二維]
 * @E-mial wuliqiang_aa@163.com
 * @TIME   2017-04-07
 * @WEB    http://blog.iinu.com.cn
 * @param [type] $array [數組]
 */ function TestArray($array){     if(is_array($array)){         foreach($array as $v){             if(is_array($v)){                 $Int_Array = array('Int'=>2,'Test'=>'檢測為二維數組');             }else{                 $Int_Array = array('Int'=>1,'Test'=>'檢測為一維數組');             }         }     }else{         $Int_Array = array('Int'=>3,'Test'=>'檢測為不是數組');     }          return $Int_Array; }

本文出至:新太潮流網絡博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM