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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    session_start();
    // супер-мега защита от ддоса
    $_SESSION['antiddos']==time() ? exit() : $_SESSION['antiddos']=time();
    //конец супер мега защиты
    ....
    ?>

    Найдено в старом проекте, код не мой.
    Но вы знаете, от толпы школьников с кнопками F5 это реально помогает!

    mr.The, 02 Июня 2010

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

    +158

    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
    /**
     * Метод проверяет права доступа на использование этого модуля, возвращает результат проверки.
     * Кроме этого, происходит запись в лог
     *
     * @return boolean
     */
    private function check_access() {
    	Logger::log_exception($_SERVER['REQUEST_URI'].'?'.$_SERVER['QUERY_STRING'], $this->log_file_name);
    	return true;
    }
    
    // [...]
    
    /**
     * Попытка переключить рабочую базу данных
     */
    public function actionChange_db() {
    	if (!$this->check_access()) {
    		echo strval($this->err_failure_access);
    		return;
    	}
    
    // [...]

    Вот такое иногда встречается в коде коллеги, про название метода "log_exception" я промолчу, т.к. это тоже его рук дело, а общий для всех метод Logger::log() ему почему-то не понравился? Я уже просто устал ругаться с ним...

    cr0t, 02 Июня 2010

    Комментарии (19)
  3. C# / Говнокод #3378

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    SqlCommand SomeCommand = new SqlCommand(SelectString, ConnectionString);
    int result;
    if(SomeCommand.ExecuteScalar() == null)
        {
            result = 0;
         }
    else
         {
             result = (int)SomeCommand.ExecuteScalar();
          }

    Why bad ?! The method execute twice ...

    O_O, 02 Июня 2010

    Комментарии (35)
  4. C# / Говнокод #3377

    +121

    1. 1
    2. 2
    3. 3
    private static readonly char SPECIFIER = "$"[0];
    private static readonly char DELIMITER = ":"[0];
    private static readonly char[] DELIMITER_ARRAY = new char[1] { DELIMITER };

    В глубинах довольно большой CRM'ки

    MegaHerz, 02 Июня 2010

    Комментарии (14)
  5. Си / Говнокод #3376

    +103

    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
    /*    Copyright 2009 10gen Inc.
     *
     *    Licensed under the Apache License, Version 2.0 (the "License");
     *    you may not use this file except in compliance with the License.
     *    You may obtain a copy of the License at
     *
     *    http://www.apache.org/licenses/LICENSE-2.0
     *
     *    Unless required by applicable law or agreed to in writing, software
     *    distributed under the License is distributed on an "AS IS" BASIS,
     *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     *    See the License for the specific language governing permissions and
     *    limitations under the License.
     */
    
    /* all the numbers that fit in a 4 byte string */
    const char bson_numstrs[1000][4] = {
        "0",  "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",
        "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
    	/* 105 строк поскипано */
        "980", "981", "982", "983", "984", "985", "986", "987", "988", "989",
        "990", "991", "992", "993", "994", "995", "996", "997", "998", "999",
    };

    Взято отсюда - http://github.com/mongodb/mongo-c-driver/blob/master/src/numbers.c . А это коммит - http://github.com/mongodb/mongo-c-driver/commit/0198225180a51e0b0b8a84f25b34b3047d3b9c80

    raorn, 02 Июня 2010

    Комментарии (184)
  6. Куча / Говнокод #3375

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <table width="500" height="10">
    <td>
     <br>
    
    </tr>
    </table>

    Дипломная работа... no comments

    Sinless, 02 Июня 2010

    Комментарии (48)
  7. SQL / Говнокод #3374

    −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
    13. 13
    14. 14
    $SQL            =  "SELECT rq.*, c.login, r.name as raceName,                                                                                                                                                                   
        IF(rq.status = 1, '<span style=\'color:green\'>".$this->kernel->msg->get('raceRequest.status.done')."</span>',                                                                          
            IF(rq.status = -1, '<span style=\'color:red\'>".$this->kernel->msg->get('raceRequest.status.cancel')."</span>',                                                                 
                '".$this->kernel->msg->get('raceRequest.status.request')."')) as statusMsg,                                                                                             
        IF(rq.currentLevel = 1, '<span style=\'color:#eeb300\'>".$this->kernel->msg->get('raceRequest.level.gold')."</span>',                                                                   
            IF(rq.currentLevel = 2, '<span style=\'color:#c6cccd\'>".$this->kernel->msg->get('raceRequest.level.silver')."</span>',                                                         
                '<span style=\'color:#d58b72\'>".$this->kernel->msg->get('raceRequest.level.bronzet')."</span>')) as currentLevelMsg,                                                   
        IF(rq.requestLevel = 1, '<span style=\'color:#eeb300\'>".$this->kernel->msg->get('raceRequest.level.gold')."</span>',                                                                   
            IF(rq.requestLevel = 2, '<span style=\'color:#c6cccd\'>".$this->kernel->msg->get('raceRequest.level.silver')."</span>',                                                         
                '<span style=\'color:#d58b72\'>".$this->kernel->msg->get('raceRequest.level.bronzet')."</span>')) as requestLevelMsg                                                    
        FROM raceRequests rq                                                                                                                                                                            
        LEFT JOIN customers c ON c.ID = rq.customerID                                                                                                                                                   
        LEFT JOIN races r ON r.ID = rq.raceID                                                                                                                                                           
        WHERE rq.ID = '%ID'";

    Формирование HTML с помощью SQL

    blaster999, 01 Июня 2010

    Комментарии (32)
  8. Pascal / Говнокод #3373

    +100

    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
    procedure WriteCharXY(_bx,by:integer; ch:char; tcol:word);
    var buf:array[1..18,1..12] of word;
    XOfs:longint;
    x,y,px,py:integer;
    begin
    XOfs:=GetCharOffset(ch);
    if xofs=0 then fillchar(buf,sizeof(buf),200) else
    fromXMS(XOfs,addr(buf),432);
    for y:=1 to 18 do
    for x:=1 to 12 do begin
    if buf[y,x]=0 then begin
       px:=_bx+x; py:=by+y;
       asm
       mov   bx,px;  add   bx,actviewport.x1;  cmp   bx,fillviewport.x1;
       jl    @end;  cmp   bx,fillviewport.x2; jg    @end;
       mov   cx,currentmode.scanline;  cmp   bx,cx;  jnb   @end;
       mov   ax,py;  add   ax,actviewport.y1;  cmp   ax,fillviewport.y1;
       jl    @end;  cmp   ax,fillviewport.y2;  jg    @end;
       add   ax,pageadd;  mul   cx;  add   bx,bx;
       add   ax,bx;  adc   dx,0;  mov   si,ax;
       cmp   dx,lastbank;  je    @next;  push  dx;
       call  nearsetbank2;  @next:  mov   es,[currentmode.writeptr];
       mov   ax,tcol;  {cmp   writemode,0;  jne   @doxor;}
       mov   es:[si],ax;  {jmp   @end;  @doxor: xor   es:[si],ax;}  @end:
       end;
    end;
    end;
    end;
    
    procedure WriteStringXY(x,y,maxx:integer; s:string; col:word);
    var tx,ty:integer; i:word;
    begin tx:=x; ty:=y;
    for i:=0 to length(s) do begin
    writecharXY(tx,ty,s[i],col);
    inc(tx,GetCharWidth(s[i]));
    if (tx>=maxx) and (s[i]=' ') then begin inc(ty,18); tx:=x; end;
    end;
    end;
    
    procedure Write5Strings(x,y,maxx:integer; col:word; s1,s2,s3,s4,s5:string;
    letterdelay:byte);
    var tx,ty:integer; t,i:word;
    st:array[1..5] of string;
    begin tx:=x; ty:=y;
    st[1]:=s1; st[2]:=s2; st[3]:=s3; st[4]:=s4; st[5]:=s5;
    for t:=1 to 5 do begin
    if length(st[t])=0 then exit;
       for i:=1 to length(st[t]) do begin
       writecharXY(tx,ty,st[t][i],col);
       if letterdelay>0 then pdel(letterdelay);
       inc(tx,GetCharWidth(st[t][i]));
       if (tx>=maxx-100) and (st[t][i]=' ') then begin
       inc(ty,18); tx:=x; end;
       end;
    end;
    end;

    Молодость.

    runewalsh, 01 Июня 2010

    Комментарии (21)
  9. Си / Говнокод #3372

    +144

    1. 1
    2. 2
    3. 3
    bool somevar;
    //... ... ...
    if(somevar==true)doSomething();

    И это в книге, по которой учат детей.

    frp, 01 Июня 2010

    Комментарии (11)
  10. Pascal / Говнокод #3371

    +101

    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
    function IPtoDWORD(const s: string):DWORD;
    var
    L: TStringList;
    b: packed array [0..3] of byte;
    i: Integer;
    begin
    Result := 0;
      L := TStringList.Create;
        try
          L.Delimiter := '.';
            L.DelimitedText := s;
              for i := 0 to 3 do
                b[3 - i] := StrToInt(L[i]);
                  Result := pdword(@b[0])^;
        finally
          L.Free
        end;
    end;
    ...
    if (NewIP >= IPtoDWORD('192.168.0.0')) and (NewIP <= IPtoDWORD('192.168.0.255')) then
      //Пускаем
        else
          ServerSocket.Socket.Connections[i - 1].SendText('запрет'); //Запрет
            ServerSocket.Socket.Connections[i - 1].Close; //Закрываем канал
              if (NewIP >= IPtoDWORD('193.168.0.0')) and (NewIP <= IPtoDWORD('193.168.0.255')) then
                //Пускаем
                if (NewIP >= IPtoDWORD('194.168.0.0')) and (NewIP <= IPtoDWORD('194.168.0.255')) then
                  //Пускаем
                    if (NewIP >= IPtoDWORD('195.168.0.0')) and (NewIP <= IPtoDWORD('195.168.0.255')) then
                      //Пускаем

    личинка быдлокодера в схватке с IPv4
    примечательно искрометное форматирование кода

    bugmenot, 01 Июня 2010

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