Arquivo protect.php
<?php
/**
 * Classe para proteção de Variaveis passadas externamente entre Client->Servidor
 * Atenção: Esta classe/função é baseada em diversos códigos da internet
 * Creditos: Gabriel_Criminal
 */
class php_anticracker{ //Nome não poderia ser outro...
public function php_array_protect_custom($var,$selfCall = False/*selfCall = Se função da propria classe chama a mesma*/){//Verifica se array possui codigo ilicito
     global $code_detect;
    //Palavras que podem ser utilizadas para code{sql/php/javascript/outros..} injection
    $palavras=array(";","'","*","<script>","</script>","<html>","</html>","<?","?>","<script","function","procedure",chr(34),chr(39),chr(92),chr(96),"drop table","update","alter table","drop database","drop","select"
    ,"delete","insert","alter","destroy","table","database","union","TABLE_NAME","1=1",'or 1','exec','information_schema','INFORMATION_SCHEMA','like','COLUMNS','into'
    ,'VALUES','INTO','LIKE','EXEC','OR 1','UNION','DATABASE','TABLE');
    
        foreach($var as $nome_da_chave => $valor_na_chave) //Aqui começa a brincadeira...
        {
            if(is_array($valor_na_chave))//Se a chave for array passa para a outra função que checa arrays customizaveis
            {
                 $code_detect = $this->php_array_protect_custom($valor,true);
            }                //Variaveis $inicio,$fim para controle do while
                $atual = 1;
                $fim = sizeof($palavras);//Pega o tamanho da array de possiveis palavras para injection
                while($fim >= $atual) //While para checar se as palavras pre-definidas por você são achadas
                {
                   $alvo = strpos($valor_na_chave,$palavras[$atual]);//
                   if($alvo !== false)//Error: Codigo Ilicito detectado...
                   {
                     $code_detect = true;
                   }
                   $atual++; 
                };
        };
        
        if($selfCall==False){if($code_detect=true){return false;}else{return true;};/*Codigo Limpo~Variavel Normal*/};
   
}

public function php_array_protect_site(){//Proteje o Site de Qualquer Code-Injection "Simples" das variaveis SUPER-GLOBAIS
// * Variaveis Escaneadas:
// * $_GET $_POST $_SERVER $_SESSION $_REQUEST (Funções que podem ser manipuladas e editadas atraves de aplicações do "Cliente")
    global $code_detect;
    //Palavras que podem ser utilizadas para code{sql/php/javascript/outros..} injection
    $palavras=array(";","'","*","<script>","</script>","<html>","</html>","<?","?>","<script","function","procedure",chr(34),chr(39),chr(92),chr(96),"drop table","update","alter table","drop database","drop","select"
    ,"delete","insert","alter","destroy","table","database","union","TABLE_NAME","1=1",'or 1','exec','information_schema','INFORMATION_SCHEMA','like','COLUMNS','into'
    ,'VALUES','INTO','LIKE','EXEC','OR 1','UNION','DATABASE','TABLE');
    
    for ($variavel_global=1;$variavel_global <=5/* Numero de Variaveis Super Globais que serão escaneadas*/;$variavel_global++) //Cria Loop Para Escanear Variaveis Globais  
    {
        switch($variavel_global) //Verifica qual o numeral atual do loop e passa a variavel relevante à variavel $array
        {
            case 1: $array = $_GET; break;
            case 2: $array = $_POST; break;
            case 3: $array = $_SERVER; break;
            case 4: $array = $_SESSION; break;
            case 5: $array = $_REQUEST; break;
        };
        
        foreach($array as $nome_da_chave => $valor_na_chave) //Aqui começa a brincadeira...
        {
            if(is_array($valor_na_chave))//Se a chave for array passa para a outra função que checa arrays customizaveis
            {
                 $code_detect = $this->php_array_protect_custom($valor,true);
            }
            else //Caso não..
            {
                //Variaveis $inicio,$fim para controle do while
                $atual = 1;
                $fim = sizeof($palavras);//Pega o tamanho da array de possiveis palavras para injection
                while($fim >= $atual) //While para checar se as palavras pre-definidas por você são achadas
                {
                   $alvo = strpos($valor_na_chave,$palavras[$atual]);//
                   if($alvo !== false)//Error: Codigo Ilicito detectado...
                   {
                     $code_detect = true;
                   }
                   $atual++; 
                };
                
            }
        };
    };

if($code_detect=true){return false;}else{return true;};/*Codigo Limpo~Site Protegido*/    
}

public function php_single_custom($var)//Checa Variaveis simples
{
    global $code_detect;
    //Palavras que podem ser utilizadas para code{sql/php/javascript/outros..} injection
    $palavras=array(";","'","*","<script>","</script>","<html>","</html>","<?","?>","<script","function","procedure",chr(34),chr(39),chr(92),chr(96),"drop table","update","alter table","drop database","drop","select"
    ,"delete","insert","alter","destroy","table","database","union","TABLE_NAME","1=1",'or 1','exec','information_schema','INFORMATION_SCHEMA','like','COLUMNS','into'
    ,'VALUES','INTO','LIKE','EXEC','OR 1','UNION','DATABASE','TABLE');
    
                //Variaveis $inicio,$fim para controle do while
                $atual = 1;
                $fim = sizeof($palavras);//Pega o tamanho da array de possiveis palavras para injection
                while($fim >= $atual) //While para checar se as palavras pre-definidas por você são achadas
                {
                   $alvo = strpos($var,$palavras[$atual]);//
                   if($alvo !== false)//Error: Codigo Ilicito detectado...
                   {
                     $code_detect = true;
                   }
                   $atual++; 
                };
if($code_detect=true){return false;}else{return true;};/*Codigo Limpo~Site Protegido*/    
  
}

};
?>