1. PHP / Говнокод #1492

    +131.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    function key_check($key) {
     if ($key == '') { return ''; }
     $key = preg_replace("/[^\w\xB2-\xB4\xBF-\xFF\xA5\xA8\xAA\xAF\xB8\xBA\s]/", "", $key );
     if ($key =='_SERVER' OR $key =='_SESSION' OR $key =='_FILES' OR $key =='_REQUEST' OR $key =='GLOBALS') die("<h3>Error variable ".basename(__FILE__)." ".__LINE__."</h3>");
     else return $key;
    }
    
    function str_check($str_val) {
    if ($str_val == '') { return ''; }
                    if(preg_match("/<[^>]*script*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*object*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*applet*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*form*\"?[^>]*>/i"  , $str_val)
                    or preg_match("/&#\d+;{0,1}/i"  , $str_val) ){
                                    die("<h3>ERROR ".basename(__FILE__)." ".__LINE__."</h3>");
                    }
      $str_val = str_replace( "&"            , '&amp;'                 , $str_val );
      $str_val = str_replace( "<!--"         , '&#60;!--'              , $str_val );
      $str_val = str_replace( "-->"          , '--&#62;'               , $str_val );
      $str_val = str_replace( ">"            , '&gt;'                  , $str_val );
      $str_val = str_replace( "<"            , '&lt;'                  , $str_val );
      $str_val = str_replace( "\""           , '&quot;'                , $str_val );
      $str_val = str_replace( "\r"           , null                    , $str_val );
      $str_val = str_notsqlatacs($str_val);
      if (!get_magic_quotes_gpc()){$str_val=addslashes($str_val);}
      return $str_val;
    }
    function str_notsqlatacs($str_val) {
    $searcharray =array('/drop/i','/delete/i','/union/i','/char/i','/benchmark/i','/expression/i','/alert/i','/replace/i','/write/i','/document/i','/window/i','/script/i','/user_pass/i','/unescape/i','/eval/i','/form/i','/applet/i','/object/i','/user_login/i','/setTimeout/i','/onerror/i');
    $replacearray=array('&#100;rop','&#100;elete','&#117;nion','&#99;har','&#98;enchmark','&#69;xpression','&#65;lert','&#82;eplace','&#87;rite','&#68;ocument','&#87;indow','&#83;cript','&#85;ser_pass','&#85;nescape','&#69;val','&#70;orm','&#65;pplet','&#79;bject','&#85;ser_login','/&#83;etTimeout/i','/&#79;nerror/i');//
    $str_val=preg_replace($searcharray, $replacearray, $str_val);
      return $str_val;
    }

    Фрагмент файла ./php/wojs.php "портального движка" WebCodePortalSystem версии 5.2. И вот так вся CMSка - два с половиной мегабайта говна.

    Запостил: guest, 07 Августа 2009

    Комментарии (2) RSS

    • Один раз кто-то придумал такую хуйню, остальные подцепили.
      Ответить
    • if (!get_magic_quotes_gpc()){$str_val=addsl ashes($str_val);}

      ппц.. ой кашмар какой. слава яйцем в php 6 magic quotes уже обозначена как deprecated и выключены по дефалту.
      Ответить

    Добавить комментарий