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; }本文出至:新太潮流网络博客
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: php处理字符串,判断是否含有特殊符号,非中文,数字,字符
- 下一篇: php对特殊字符的处理