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