1. C++ / Говнокод #5375

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    CTvoid cSG5Exception::Get (CTstatus& Status,
                               CTsymbol& Error,
                               CTsymbol& SubError,
                               string& Description)
    {
       if (Description.c_str() != NULL) {
           Description = m_description;
       }
       Status = m_status;
       Error = m_error;
       SubError = m_subError;
    }

    итолианский с++ панимаш, рагацци.
    что они хотели в строках 6-8 сказать кануло в лету.
    и вместо 4 человеческих геттеров один бесполезный заху*чили. (бесполезный тем что четыре переменные всегда надо под рукой иметь.)

    Dummy00001, 24 Января 2011

    Комментарии (10)
  2. PHP / Говнокод #5374

    +160

    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
    <?php
    class SQLInjection
    {
        private function filter(&$query)
        {     
            $sql_inj = array("'", ";", "/**/", "/UNION/", "/SELECT/", "DELETE", "AND" "AS ", "EVAL","<?",'"',"$",'..');
            foreach ($sql_inj as $res) {
                if (stristr($query, $res)) {
                    unset($query);
                }
            }
            $query = mysql_real_escape_string($query);
        }
        public function filterInject($query)
        {
            filterInjectGET();
            filterInjectPOST();
            filterInjectCOOKIE();
            filterInjectSERVER();
            filterInjectSESSION();
            filterInjectFILES();
        }
        public function filterInjectGET()
        {
            filter($GLOBALS['_GET']);
        } 
        /*Остальные функции filterInject выгядят аналогично*/
    }
    ?>

    Ультимативная борьба с SQL-инъекциями. Враг не пройдёт! Бланк-пейдж встретит его непреступной стеной!

    trinkl, 24 Января 2011

    Комментарии (4)
  3. bash / Говнокод #5373

    −137

    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
    #!/bin/bash
    
    while :
    do
    declare -a fls;
    c=0;
    z=0
    for ff in `find $1`
    do
    for tf in `du $ff | gawk '{ print $1 }'`
    do
    fl=`echo $tf | gawk '{ print $1 }'`
    if [ "$tf" -eq "$z" ]; then
    echo tf $tf
    echo ff $ff
    fls[$c]=$ff;
    rm $ff
    fi
    done
    done
    echo ${fls[*]}
    sleep 1m;
    done

    Удаляет пустые файлы

    AliceGoth, 24 Января 2011

    Комментарии (1)
  4. Си / Говнокод #5372

    +104

    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
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    switch (sum_l)
    		{
    			case 0x00: sum_l = '0'; break;
    			case 0x01: sum_l = '1'; break;
    			case 0x02: sum_l = '2'; break;
    			case 0x03: sum_l = '3'; break;
    			case 0x04: sum_l = '4'; break;
    			case 0x05: sum_l = '5'; break;
    			case 0x06: sum_l = '6'; break;
    			case 0x07: sum_l = '7'; break;
    			case 0x08: sum_l = '8'; break;
    			case 0x09: sum_l = '9'; break;
    			case 0x0A: sum_l = 'A'; break;
    			case 0x0B: sum_l = 'B'; break;
    			case 0x0C: sum_l = 'C'; break;
    			case 0x0D: sum_l = 'D'; break;
    			case 0x0E: sum_l = 'E'; break;
    			case 0x0F: sum_l = 'F'; break;
    		}
    
    		switch (sum_h)
    		{
    			case 0x00: sum_h = '0'; break;
    			case 0x01: sum_h = '1'; break;
    			case 0x02: sum_h = '2'; break;
    			case 0x03: sum_h = '3'; break;
    			case 0x04: sum_h = '4'; break;
    			case 0x05: sum_h = '5'; break;
    			case 0x06: sum_h = '6'; break;
    			case 0x07: sum_h = '7'; break;
    			case 0x08: sum_h = '8'; break;
    			case 0x09: sum_h = '9'; break;
    			case 0x0A: sum_h = 'A'; break;
    			case 0x0B: sum_h = 'B'; break;
    			case 0x0C: sum_h = 'C'; break;
    			case 0x0D: sum_h = 'D'; break;
    			case 0x0E: sum_h = 'E'; break;
    			case 0x0F: sum_h = 'F'; break;
    		}

    p.s. true story.
    пока сам не увидел, был уверен, что такого не бывает.

    10199, 24 Января 2011

    Комментарии (59)
  5. C# / Говнокод #5371

    +131

    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
    string name = dr["name"].ToString().Trim();
    
                    //отступы
    
                    switch (lev)
                    {
                        case 0: tc.Text = "&nbsp;" + name; break;
                        case 1: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 2: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 3: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 4:
                        case 5:
                        case 6: tc.Text = "&nbsp;" + name; break;
                    }

    Создание отступов в ячейке таблицы...

    alex_donetsk, 24 Января 2011

    Комментарии (3)
  6. JavaScript / Говнокод #5370

    +152

    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
    var _t=false;
    if ( a < this.options.min ) {
    	this.options.min = a;
    	_t=true;
    }
    if ( b > this.options.max ) {
    	this.options.max=b;
    	_t=true;
    }
    if ( _t ) {
    	this.refreshValue();
    	this.setMinMax();
    }

    [:|||:] ?

    istem, 24 Января 2011

    Комментарии (11)
  7. C# / Говнокод #5369

    +113

    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
    protected override void Draw(GameTime gameTime)
    {
        graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
    	
        //Новый массив матриц размером, соответствующим количеству костей в скелете модели
        Matrix[] absoluteTransformations = new Matrix[pen.Bones.Count];
    	
        //Скопировать матрицы трансформации костей в массив матриц
        pen.CopyAbsoluteBoneTransformsTo(absoluteTransformations);
    
        foreach (ModelMesh mesh in pen.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.LightingEnabled = true;
                effect.EnableDefaultLighting();
                effect.Projection = projMatrix;
                effect.View = viewMatrix;
    
                //Установим новую мировую матрицу для родительской кости текущей сети
                //Так же здесь мы уменьшаем модель, применяя коэффициент масштабирования 0,13
                effect.World = absoluteTransformations[mesh.ParentBone.Index] * Matrix.CreateScale(0.13f);
            }
            //Выводим подготовленную сеть
            mesh.Draw();
        }
        base.Draw(gameTime);
    }

    костная анимация в XNA

    Kornew, 24 Января 2011

    Комментарии (4)
  8. PHP / Говнокод #5368

    +160

    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
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    <?php
    //error_reporting(0);
    list($sms, $ss) = explode(' ', microtime());
    $start_time=($ss+$sms);
    unset($sms);
    unset($ss);
    include ROOT.'config.php';
    define('VERSION', '0.8');
    if(!isset($installed) && $_SERVER['PHP_SELF']!='/install.php') header("Location: /install.php");
    if(isset($installed)) $db = mysql_connect($dbhost, $dbuser, $dbpass) or die('Could not connect to database server');
    if(isset($installed))mysql_select_db($dbname) or die('Could not select database');
    if(isset($installed)) mysql_set_charset('utf8');
    $sql_query_cnt = 1;
    
    function db_fetch_obj_all($query){
      $res = mysql_query($query);
      $GLOBALS['sql_query_cnt']++;
      if($res==false) retnulla($query);
      $foa = array();
      while($fo = @mysql_fetch_object($res)) $foa[]=$fo;
      return $foa;
    }
    
    function db_query($q){
      $res = mysql_query($q);
      $GLOBALS['sql_query_cnt']++;
      if($res==false) retnulla($q);
      return $res;
    }
    
    function retnulla($q){
      echo '<div class="warn">Ошибка при выполнении SQL-запроса</div><div class="post">'.$q.'</div><div class="post">'.mysql_error().'</div>';
    }
    
    function getConf($key){
      $cfg = db_fetch_obj_all("SELECT * FROM `tcms_config` WHERE `name`='$key'");
      return $cfg[0]->value;
    }
    
    function at_page(){
      global $loggedin;
      if($loggedin){
        $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
        return $fobj[0]->at_page;
      }
      else return getConf('at_page');
    }
    
    function curr_theme(){
      global $loggedin;
      if($loggedin){
        $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
        return $fobj[0]->use_theme;
      }
      else return getConf('default_theme');
    }
    
    function puthead($title=''){
    global $uid;
    if($title!='') $page_name = $title;
    include ROOT.'themes/'.curr_theme().'/head.php';
    }
    function putfoot($menu=''){
    global $foot_menu, $mode;
    if($menu!='') $foot_menu.= ' | '.$menu;
    include ROOT.'themes/'.curr_theme().'/foot.php';
    }
    
    session_start();
    $loggedin = false;
    if(isset($_SESSION['uid'])) $loggedin = true;
    if($loggedin){
      $fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
      $uid = $fobj[0]->id;
      $login = $fobj[0]->login;
      $mode = $fobj[0]->mode;
      $ban = $fobj[0]->ban;
      $banned = $ban>time();
      if($banned) $tobanend = $ban-time();
    }else $mode=0;
    
    function escape($str){
    $str = htmlspecialchars($str);
    $str = mysql_real_escape_string($str);
    return $str;
    }
    
    function lower($str){
      return mb_strtolower($str, 'utf8');
    }
    
    function len($str){
      return mb_strlen($str, 'utf8');
    }
    
    // и так далее...

    func.php
    А ООП в class.php там просто отпад.
    Там всю систему сюда постить надо, лол.
    Сношу архив нафиг, такой код нужно сжигать в доменных печах.

    7ion, 23 Января 2011

    Комментарии (7)
  9. PHP / Говнокод #5367

    +160

    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
    <?php
    define('ROOT', '../');
    include ROOT.'func.php';
    include ROOT.'class.php';
    puthead('Форум');
    $fposts = getConf('forum_posts_disp')==1;
    if($mode>2) echo '<a href="/forum/newcat.php">[Создать форум]</a>';
    $cats = forum::get_cats();
    foreach($cats as $cat){
      echo '<div class="forumcat"><b>'.$cat->name.'</b>';
      $forums = forum::get_catforums($cat->id);
      foreach($forums as $f){
        echo '<br><a href="/forum/viewforum.php?id='.$f->id.'">'.$f->name.'</a>';
        # МОЖЕТ ВЫЗВАТЬ КРИТИЧЕСКУЮ НАГРУЗКУ СЕРВЕРА!! Лучше ОТКЛЮЧИТЬ!!!!!
        if($fposts){
          echo ' ('.forum::count_topics($f->id).'/'.forum::count_posts_forum($f->id).')';
        }
        # КОНЕЦ ОПАСНОГО КУСКА
        if($mode>2) echo ' <a href="/forum/upforum.php?id='.$f->id.'">[Поднять выше]</a> <a href="/forum/del.php?forum='.$f->id.'">[Удалить]</a>';
      }
    if($mode>2) echo '<hr><a href="/forum/newforum.php?id='.$cat->id.'">[Создать подфорум]</a> <a href="/forum/del.php?cat='.$cat->id.'">[Удалить]</a> <a href="/forum/upcat.php?id='.$cat->id.'">[Поднять выше]</a>';
    echo '</div>';
    }
    putfoot();
    ?>

    Оттуда же.
    /forum/index.php

    7ion, 23 Января 2011

    Комментарии (2)
  10. PHP / Говнокод #5366

    +159

    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
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    <?php
    include("block/connect.php");
    $result = mysql_query("SELECT name FROM files",$db);
    $myrow = mysql_fetch_array($result);
     
     
    $dir=opendir('./files/');
    $file = readdir ($dir);
     
    $amt=mysql_num_rows($result);
    $cf=0;
    $cfb=$amt;
    $fname[]="";                                                                                    //Заносим в массив fname имена файлов которые находятся в папке
    while ($file = readdir ($dir))  
      {
              if($file!=".."&&$file!=".")
              {
              $fname[$cf]=$file;
              $cf++;
              }
      }                                                                                                             //Занесли
      
    $fdbname[]="";                                                                                  //Заносим в массив fdbname имена файлов которые находятся в папке
    $j=0;
      do
      {
              $fdbname[$j]=$myrow["name"];
              $j++;
      }
      while($myrow = mysql_fetch_array ($result));                  //Занесли
     
      echo "Количество файлов в папке: ".$cf."<br>";
      echo "Количество файлов в базе: ".$cfb."<br><br>";
      
      echo "Файлы в папке:<br>";                    //Выводим массив fname
      for($i=0;$i<=$cf;$i++)
      {
              echo $fname[$i]."<br>";
      }
     
             echo "<br>Файлы в базе:<br>";          //Выводим массив fdbname
      for($i=0;$i<=$cfb;$i++)
      {
              echo $fdbname[$i]."<br>";
      }
      
      //Выводим имена файлов которые есть в папке но нет в базе
      
     echo "<br>Файлы которые есть в папке но нет в базе:";
      for($i=0;$i<=$cf;$i++)
      {
              for($j=0;$j<=$cfb;$j++)
              {
                      if($fname[$i]==$fdbname[$j])
                            {
                                    break;
                            }
     
                            if($j==$cfb)
                            {
                                    echo "<br>".$fname[$i]."___НЕТ в базе";
                                    echo "<br>".$fname[$i]."___УДАЛЁН";
                                    unlink('./files/'.$fname[$i]);
                            }
     
              }
      }
      
      
      
    ?>

    Цитата:
    "Спасибо, но я уже решил проблему самостоятельно, + ещё добавил удалениее тех файлов которых нет в базе Я внес в один массив файлы которые есть в папке, а в другой массив файлы которые есть в базе, потом сравнил два массива...
    можете оценить:"

    Sulik78, 23 Января 2011

    Комментарии (8)