- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
<?
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);
}
?>
                                 
        
А вот мы на https://gcode.space/ написали!
Славабху хоть кто-то додумался. Но у него другая крайность - не фильтрует комменты типа /**/, а с таким типом комментов есть другая интересная атака, кажется, вида sel/**/ect (не проверял и проверять лень, точно не помню за давностью лет).
Пока низачот.
> "select", " select","select "
Реально трешугар.
Да ладно, полно тут этого, только называется оно обычно antihakir