PHPは正規一致文字列中の特殊文字でSQL注入を防ぐ

21810 ワード

新太潮流ネットブログ
/**
* [              ]
* @E-mial [email protected]
* @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 [email protected]
 * @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;
}

新太潮流ネットブログ