<?

function anti_sql($expressao)    { 
	
	$inject=0; 
  $expressao = strtolower($expressao); 
    
	//arrays com palavras e caracteres invalidos 
	$badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");        
	$badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy "); 	 
		 
	for($i=0;$i<sizeof($badword1);$i++) { 
    	if(substr_count($expressao,$badword1[$i])!=0)
		  $inject=1; 
       } 

         for($i=0;$i<sizeof($badword2);$i++)    { 
              if(substr_count($expressao,$badword2[$i])!=0)
			  $inject=1;  
         } 

    $charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789������������������������������������!?@#$%&(){}[]:;,.- "; 

     for($i=0;$i<strlen($expressao);$i++)    { 
        $char = substr($expressao,$i,1); 
            if(substr_count($charvalidos,$char)==0)
               $inject=1; 
         } 

    return($inject); 
} 

//exemplo de uso

//recebendo os dados do formul�rio
$login = $_POST['login'];
$senha = $_POST['senha'];

if (anti_sql($login) != 0 || anti_sql($senha) != 0) { echo "Erro, caracteres n�o permitidos"; }

?>