1. JavaScript / Говнокод #2356

    +167.6

    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
    --------------хтмл заголовок, ява скрипты -------------------
    function CheckFields(){
    
      	if(document.feedback.password.value!='0A23BD671'){
    		alert('Пароль неправильный!');
    		document.feedback.password.focus();
    		document.feedback.password.select();
    		return false;
    	} 	
     }	
    ------------------хтмл-------------------------------------------------
    
    		<form name="feedback" action="/handlers/get_prz.php" method=POST onSubmit="return CheckFields()">
    			<tr bgcolor="#dfefef" >
    				<td align="right"><b>Пароль: </b></td>
    				<td valign="top"><INPUT TYPE="PASSWORD" NAME="password" SIZE="9" value=""></b>
    				<INPUT TYPE="HIDDEN" NAME="ftpzip" SIZE="9" value="finans.zip"></b></td>
    			</tr>
    			<tr bgcolor="#dfefef" >
    				<td colspan=2 align="center">
    				<INPUT TYPE="submit" VALUE="Скачать 2.8Mb" style="color:#cc0000;font-weight:bold;background=#dfefef">
    				</td></tr></form>

    иф пассворд не равен пассворд..... а с какого сайта я скопикомуниздил этот код, типа ERP система Компас... серьезная софтина для крупных предпрятий... а на сайте такое твориться... как теперь можно доверить такой софтине, сайт для которой студенты писали... ды, нет, думаю студенты не такие дубы чтоб такое писать, школьники наверное....
    оригинал кода например тут - http://www.compas.ru/solutions/prz_fin.php
    там почти все файлы типа через пароль качать...

    LuCiFer, 31 Декабря 2009

    Комментарии (8)
  2. C++ / Говнокод #2355

    +63.4

    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
    /* This construction seems to be more optimiser friendly.
           (without it gcc does the isDIGIT test and the *s - '0' separately)
           With it gcc on arm is managing 6 instructions (6 cycles) per digit.
           In theory the optimiser could deduce how far to unroll the loop
           before checking for overflow.  */
        if (++s < send) {
          int digit = *s - '0';
          if (digit >= 0 && digit <= 9) {
            value = value * 10 + digit;
            if (++s < send) {
              digit = *s - '0';
              if (digit >= 0 && digit <= 9) {
                value = value * 10 + digit;
                if (++s < send) {
                  digit = *s - '0';
                  if (digit >= 0 && digit <= 9) {
                    value = value * 10 + digit;
    		        if (++s < send) {
                      digit = *s - '0';
                      if (digit >= 0 && digit <= 9) {
                        value = value * 10 + digit;
                        if (++s < send) {
                          digit = *s - '0';
                          if (digit >= 0 && digit <= 9) {
                            value = value * 10 + digit;
                            if (++s < send) {
                              digit = *s - '0';
                              if (digit >= 0 && digit <= 9) {
                                value = value * 10 + digit;
                                if (++s < send) {
                                  digit = *s - '0';
                                  if (digit >= 0 && digit <= 9) {
                                    value = value * 10 + digit;
                                    if (++s < send) {
                                      digit = *s - '0';
                                      if (digit >= 0 && digit <= 9) {
                                        value = value * 10 + digit;
                                        if (++s < send) {
                                          /* Now got 9 digits, so need to check
                                             each time for overflow.  */
                                          digit = *s - '0';
                                          while (digit >= 0 && digit <= 9
                                                 && (value < max_div_10
                                                     || (value == max_div_10
                                                         && digit <= max_mod_10))) {
                                            value = value * 10 + digit;
                                            if (++s < send)
                                              digit = *s - '0';
                                            else
                                              break;
                                          }
                                          if (digit >= 0 && digit <= 9
                                              && (s < send)) {
                                            /* value overflowed.
                                               skip the remaining digits, don't
                                               worry about setting *valuep.  */
                                            do {
                                              s++;
                                            } while (s < send && isDIGIT(*s));
                                            numtype |=
                                              IS_NUMBER_GREATER_THAN_UV_MAX;
                                            goto skip_value;
                                          }
                                        }
                                      }
    				 }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
    	 }
          }
        }

    Проверка числа в Perl-модуле. Судя по всему стояла задача оптимизировать под что-то.

    Thomas_55, 30 Декабря 2009

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

    +102

    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
    begin
      tru:=false;
      if    tru=false then
      begin
        ObrMatritsa(Sigm,Sigm_transp);
        tru:=true;
        det:=abs(Determinant(Sigm));
        if det=0 then
        begin
          ShowMessage('Determinant = 0');
          tru:=false;
          Application.Terminate;
          exit;
        end;
        //if  det=0 then begin result:=0 ; exit end;
        sum:=1/sqrt(power(2*pi,kol_prizn)*det* exp(Mas));
        if  sum=0 then result:=0 ;
      end else exit;
    end;

    TAX, 30 Декабря 2009

    Комментарии (26)
  4. Pascal / Говнокод #2353

    +92

    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
    {$R-}
    fal:=true;
    ty:= length(mas1);
    while(fal=true)  do
      for j:=0 to kp-1 do
      begin
        for i:=i+k+j to length(mas2)-1 do
        begin
          while mas2[i+k]= ty do
          begin
            s:=s+c[i,j];
            inc(k);
          end;
        end;
        nl:=mas1[ty-1];
        if nl=0 then
          mas_Mj[ty]:=0
        else
          mas_Mj[ty-1][j]:=s/nl;
        s:=0;
      end;

    TAX, 30 Декабря 2009

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

    +144.9

    1. 1
    2. 2
    3. 3
    foreach ($quote as $quote_key => $quote_value) {
    $tpl[$key] = $value;
    }

    $quote = $tpl; как бы слишком коротко..

    Deromanok, 29 Декабря 2009

    Комментарии (10)
  6. SQL / Говнокод #2351

    −861.7

    1. 1
    2. 2
    3. 3
    select ...
    where ISNULL(e2e.ItemId, -1) = (case when @itemId < 1 then ISNULL(e2e.ItemId, -1) else @itemId end) 
    and ISNULL(e2e.LeftId, -1) = (case when @parentItemId < 1 then ISNULL(e2e.LeftId, -1) else @parentItemId) end

    workgss, 29 Декабря 2009

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

    +132.4

    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
    var ChildListWithCondition =
                    (from list in ChildList
                     join requestedRelatedEntityIds in EntitiesIdInList on list.ParentEntityId equals requestedRelatedEntityIds
                     join requestedEntityType in EntityTypeIdToTake on list.EntityTypeId equals requestedEntityType)
                     .Select(list => 
                         new LayoutDataOutputStructure()
                         {
                             ParentEntityId = list.ParentEntityId,
                             EntityId = list.EntityId,
                             FieldId = list.FieldId,
                             FieldValue = list.FieldValue,
                             EntityTypeId = list.EntityTypeId,
                             RelationTypeToParent = list.RelationTypeToParent,
                             FieldValueId = list.FieldValueId
                         })
                    .GroupBy(item => item.ParentEntityId)
                    .Select(group => new
                        {
                            ParentEntityId = group.Key,
                            GroupEntityTypeId = group.GroupBy(item => item.EntityTypeId)
                                .Select(group2 => new
                                                     {
                                                        EntityTypeId = group2.Key,
                                                        EntityRelation = group2.Select(item => item.RelationTypeToParent).FirstOrDefault(),
                                                        GroupEntityId = group2.GroupBy(group3 => group3.EntityId)
                                                            .Select(group3 => new
                                                                                  {
                                                                                      EntityId = group3.Key, 
                                                                                      Fields = group3.GroupBy(group4 => group4.FieldId)
                                                                                        .Select(group4 => new { FieldId = group4.Key, FieldValues = group4 })
                                                                                        
                                                                                  })
                                                     }
                                    )
                        }
                    )
                    .ToList();

    workgss, 29 Декабря 2009

    Комментарии (8)
  8. Java / Говнокод #2349

    +78.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void pause(){
            Object lock=new Object();
            synchronized(lock){
                try{
                    lock.wait(1000);
                }catch(Exception e){
                    System.out.println(e.getMessage());
                }
            }
        }

    _jk_, 29 Декабря 2009

    Комментарии (9)
  9. C++ / Говнокод #2348

    +64.4

    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
    int main(int argc, char **argv){
      QApplication app(argc, argv);
      QWebView view;
      view.load(QUrl("http://www.linuxcertif.com/"));
      view.show();
      app.exec();
      QWebSettings::setIconDatabasePath("/tmp");
      QWebSettings::iconForUrl(QUrl("http://www.linuxcertif.com/"));
      QIcon icon = QWebSettings::iconForUrl(QUrl("http://www.linuxcertif.com/"));
      QPushButton button;
      button.setIcon(icon);
      button.show();
      return app.exec();
    }

    смотрим на восьмую строку и понимаем, что она не делает ничего....
    ошибка то мелкая, было бы не смешно, если тока этот код не распологался бы на багтрекере вебикита - https://bugs.webkit.org/show_bug.cgi?id=29440
    еще в вебките забавно, что если в этом семпле седьмую строку переместить сразу за второй, семпл работает...

    LuCiFer, 29 Декабря 2009

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

    +155.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php 
    
    $Fnm = $mosConfig_absolute_path .'/components/'.$option.'/cron.php';
    $inF = fopen($Fnm,"w");
    fwrite($inF,'<?php $last_cron_date='.$last_cron_date.';?>');
    fclose($inF);

    всеми любимая джумла... а точнее один из её компонентов... строка 1846-ая...

    почему собственно гадость:
    1. а если нету доступа на запись...
    2. не безопасно
    3. если в файле что-нибудь будет не так - обвалится весь сайт, потому как ошибко php
    4. я настороженно отношусь к файлам по 2246 - строк ... уж больно много всего...

    nicolay-punin, 29 Декабря 2009

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