1. Куча / Говнокод #11656

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    > Наша фирма разрабатывает серьезный софт на CL, Scheme и
    некоторых других языках. Но в последнее время в нашей продукции
    часто стали находить эксплоиты (что-бы не пугать наших клиентов -
    подробнее не скажу). Нам для LISP-подобных языков необходима
    DEP (Data Execution Prevention). Есть ли подобные наработки в этой области?
    Пока ничего побобного для языков этого семейства мы не находили и очень
    расстроены сложившимися обстоятельствами.

    Не мог ни запостить.

    HaskellGovno, 27 Августа 2012

    Комментарии (50)
  2. Python / Говнокод #11655

    −93

    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
    DISC_NUMBER_REGEXS = (
            "\(disc *[0-9]+\)",
            "\(cd *[0-9]+\)",
            "\[disc *[0-9]+\]",
            "\[cd *[0-9]+\]",
            " - disc *[0-9]+$",
            " - cd *[0-9]+$",
            " disc *[0-9]+$",
            " cd *[0-9]+$"
    )               
    
    # skipped
    
                    for exp in DISC_NUMBER_REGEXS:
                            p = re.compile (exp, re.IGNORECASE)
                            album = p.sub ('', album)

    Вот такие вот регулярные выражения из плагина Album Art Search для плеера Rhythmbox. Как минимум disc|cd и \d+ автор должен был осилить?

    victor-homyakov, 27 Августа 2012

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

    +156

    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
    var Utils = {
      // https://gist.github.com/1308368
      uuid: function(a,b){for(b=a='';a++<36;b+=a*51&52?(a^15?8^Math.random()*(a^20?16:4):4).toString(16):'-');return b},
      pluralize: function( count, word ) {
       return count === 1 ? word : word + 's';
      },
      store: function( namespace, data ) {
       if ( arguments.length > 1 ) {
        return localStorage.setItem( namespace, JSON.stringify( data ) );
       } else {
        var store = localStorage.getItem( namespace );
        return ( store && JSON.parse( store ) ) || [];
       }
      }
     };

    kyzi007, 27 Августа 2012

    Комментарии (2)
  4. ActionScript / Говнокод #11653

    −87

    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
    парсерНЛО.parse(new XML (new ufo1())); //разбираем модель
    			for each (объект3Д in парсерНЛО.objects) {				
    				мешПерсонажа_ = объект3Д as Mesh;
    			}			
    			клипПерсонажа_ = парсерНЛО.animations[0] as AnimationClip;
    			
    			for (i = 0; i < 10; i += 1) {
    				парсерНЛО.parse(new XML (new ufo1())); //разбираем модель
    				for each (объект3Д in парсерНЛО.objects) {				
    					мешПерсонажа[i] = мешПерсонажа_.clone() as Mesh;
    				}
    				мешПерсонажа[i].setMaterialToAllSurfaces(new TextureMaterial (new BitmapTextureResource((new ufo1_text()).bitmapData)));
    				rootContainer.addChild(мешПерсонажа[i]);
    
    							
    				клипПерсонажа[i] = клипПерсонажа_.clone() as AnimationClip;
    				клипПерсонажа[i].attach(мешПерсонажа[i], true);
    				
    				анимПерсонажа[i] = new AnimationClipController;	
    				анимПерсонажа[i].root = клипПерсонажа[i] as AnimationClip;
    				
    
    			}

    А вот как пишут настоящие русские программисты )

    makc3d, 27 Августа 2012

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?PHP
    $login = "";
    $pass = "";
    $md5_pass = "";
    eval(gzinflate(base64_decode('HJ3HkqNQEkU/
    ..........
    WIIgeFb//eeff/79z/8A')));//εσκεσ
    ?>

    Joomla - Virtuemart, файл addtocard.php
    расскажите зачем кодировать это 12 раз?
    Вот собственно это - http://pastebin.com/e3AMP9WN

    mkusher, 27 Августа 2012

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

    +177

    1. 1
    2. 2
    3. 3
    if(e.password == '23f9dg'){
        $('#editable').show(0);
    }

    Клиентский JS, упоротым под баклофеном лучше не кодить...

    Stud, 27 Августа 2012

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

    +67

    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
    if ($is_past == "1")
    	{
    	if ($disable_sections == "1")
    		mysql_query("update setting set disable_sections = 1");
    		else
    		mysql_query("update setting set disable_sections = 0");
    	if ($disable_katalog_on_main_page == "1")
    		mysql_query("update setting set disable_katalog_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_katalog_on_main_page = 0");
    	if ($disable_news_on_main_page == "1")
    		mysql_query("update setting set disable_news_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_news_on_main_page = 0");
    	if ($disable_help_on_main_page == "1")
    		mysql_query("update setting set disable_help_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_help_on_main_page = 0");
    	if ($disable_vote_on_main_page == "1")
    		mysql_query("update setting set disable_vote_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_vote_on_main_page = 0");
    	if ($disable_zakaz_on_main_page == "1")
    		mysql_query("update setting set disable_zakaz_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_zakaz_on_main_page = 0");
    	if ($disable_reklama_on_main_page == "1")
    		mysql_query("update setting set disable_reklama_on_main_page = 1");
    		else
    		mysql_query("update setting set disable_reklama_on_main_page = 0");
    	if (issets($main_page))
    		mysql_query("update setting set main_page = '$main_page'");
    	if (issets($count_news))
    		mysql_query("update setting set count_news = $count_news");
    	if (issets($count_spec))
    		mysql_query("update setting set count_spec = $count_spec");
    	if (issets($sort_type))
    		mysql_query("update setting set sort_type = $sort_type");
    	if (issets($email))
    		mysql_query("update setting set email = '$email'");
    	
    	if (issets($formmail))
    		mysql_query("update setting set formmail = '$formmail'");
    	
    	if (issets($techmail))
    		mysql_query("update setting set techmail = '$techmail'");
    	if (issets($tel2))
    		mysql_query("update setting set tel2 = '$tel2'");
    	if (issets($tel3))
    		mysql_query("update setting set tel3 = '$tel3'");
    	if (issets($tel4))
    		mysql_query("update setting set tel4 = '$tel4'");
    	if (issets($info))
    		mysql_query("update setting set info = '$info'");	
    	}

    Админка моей мечты! Здоровенная!!! :D

    kindofbear, 27 Августа 2012

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

    +70

    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
    97. 97
    <?php
    $nodata = 'nodata';
    $A60    = doubleval(@$HTTP_POST_VARS['A60']);
    $B60    = doubleval(@$HTTP_POST_VARS['B60']);
    $C60    = doubleval(@$HTTP_POST_VARS['C60']);
    $D60    = doubleval(@$HTTP_POST_VARS['D60']);
    $F60    = doubleval(@$HTTP_POST_VARS['F60']);
    $G60    = doubleval(@$HTTP_POST_VARS['G60']);
    $H60    = doubleval(@$HTTP_POST_VARS['H60']);
    $I60    = doubleval(@$HTTP_POST_VARS['I60']);
    $J60    = doubleval(@$HTTP_POST_VARS['J60']);
    $K60    = doubleval(@$HTTP_POST_VARS['K60']);
    $L60    = doubleval(@$HTTP_POST_VARS['L60']);
    $M60    = doubleval(@$HTTP_POST_VARS['M60']);
    echo $A60;
    if (($A60 < 0) || ($B60 < 0) || ($C60 < 0) || ($D60 < 0) || ($F60 < 0) || ($G60 < 0) || ($H60 < 0) || ($I60 < 0) || ($J60 < 0) || ($K60 < 0) || ($L60 < 0) || ($M60 < 0)) {
        readfile("cerror.html"); exit; }
    if (($A60 == 0) && ($B60 == 0) && ($C60 == 0) && ($D60 == 0) && ($F60 == 0) && ($G60 == 0) && ($H60 == 0) && ($I60 == 0) && ($J60 == 0) && ($K60 == 0) && ($L60 == 0) && ($M60 == 0)) {
      readfile("cerror.html"); exit;}
    $D1  = @($A60);
    $A2  = @(405.2);
    $B2  = @((0.9 + 0.8) / 2);
    $C2  = @(8);
    $D2  = @($A60 / 3);
    $E2  = @(0.00000012);
    $F2  = @(exp(-1.60978 + 0.021845 * ($A2 / exp(3 * $B2)) - 0.000186 * pow($A2 / exp(3 * $B2), 2) + 0.0000011 * pow($A2 / exp(3 * $B2), 3)) * exp($B2 * (0.674 + 0.2 * $B2 + 0.007577 * ($A2 / exp(3 * $B2)) + 0.0084248753 * ($A2 / exp(3 * $B2)) * $B2 + 0.0000224434 * pow($A2 / exp(3 * $B2), 2))) * $E2 * $D2);
    $I2  = @(0.37);
    $J2  = @(0.24);
    $K2  = @(0.22);
    $A3  = @(368.7);
    $B3  = @((0.9 + 0.8) / 2);
    $C3  = @(20);
    $D3  = @($A60 / 3);
    $E3  = @(0.000000013);
    $F3  = @(exp(-1.60978 + 0.021845 * ($A3 / exp(2.5 * $B3)) - 0.000186 * pow($A3 / exp(2.5 * $B3), 2) + 0.0000011 * pow($A3 / exp(2.5 * $B3), 3)) * exp($B3 * (0.674 + 0.2 * $B3 + 0.007577 * ($A3 / exp(2.5 * $B3)) + 0.0084248753 * ($A3 / exp(2.5 * $B3)) * $B3 + 0.0000224434 * pow($A3 / exp(2.5 * $B3), 2))) * $E3 * $D3);
    $I3  = @(0.37);
    $J3  = @(0.24);
    $K3  = @(0.22);
    $A4  = @(621.4);
    $B4  = @(0.9);
    $C4  = @(36);
    $D4  = @($A60 / 3);
    $E4  = @(0.00000001);
    $F4  = @(exp(-1.60978 + 0.021845 * ($A4 / exp(2.5 * $B4)) - 0.000186 * pow($A4 / exp(2.5 * $B4), 2) + 0.0000011 * pow($A4 / exp(2.5 * $B4), 3)) * exp($B4 * (0.674 + 0.2 * $B4 + 0.007577 * ($A4 / exp(2.5 * $B4)) + 0.0084248753 * ($A4 / exp(2.5 * $B4)) * $B4 + 0.0000224434 * pow($A4 / exp(2.5 * $B4), 2))) * $E4 * $D4);
    $I4  = @(0.37);
    // ..аналогичные вычисления и инициализация для остальных переменных типа "буква-число"
    $D54 = @($M60 / 2);
    $E54 = @(0.0000007);
    $I54 = @(0.192);
    $J54 = @(0.027);
    $K54 = @(0);
    $A55 = @(232.5);
    $B55 = @((0.5 + 0.8) / 2);
    $C55 = @(0);
    $D55 = @($M60 / 2);
    $E55 = @(0.00000009);
    $I55 = @(0.192);
    $J55 = @(0.027);
    $D56 = @($D53 + $D46 + $D47 + $D48 + $D40 + $D35 + $D30 + $D26 + $D22 + $D18 + $D13 + $D9 + $D5 + $D1);
    // поехали по новой считать какие-то средние значения...
    $A1  = @(($A2 + $A3 + $A4) / 3);
    $B1  = @(($B2 + $B3 + $B4) / 3);
    $C1  = @(($C2 + $C3 + $C4) / 3);
    $E1  = @(($E2 + $E3 + $E4));
    $F1  = @(($F2 + $F3 + $F4));
    $I1  = @(($I2 + $I3 + $I4) / 3);
    $J1  = @(($J2 + $J3 + $J4) / 3);
    $K1  = @(($K2 + $K3 + $K4) / 3);
    $H2  = @($F2 * ($I2 + $K2));
    $M2  = @(1 - exp(-$H2 * 8766.00));
    $H3  = @($F3 * ($I3 + $K3));
    $M3  = @(1 - exp(-$H3 * 8766.00));
    $H4  = @($F4 * ($I4 + $K4));
    $M4  = @(1 - exp(-$H4 * 8766.00));
    // ещё немного кода...
    $J53 = @(($J54 + $J55) / 2);
    $K53 = @(($K54 + $K55) / 2);
    $F54 = @(exp(-3.94361687 + 0.02181877 * ($A55 / exp(5 * $B55)) + 0.00000171 * pow($A55 / exp(5 * $B55), 2)) * exp($B54 * (3.464157793 + 0.0000789055 * ($A55 / exp(5 * $B55)))) * $E54 * $D54);
    $H54 = @($F54 * ($I54 + $K54));
    $M54 = @(1 - exp(-$H54 * 8766.00));
    $F55 = @(exp(-3.94361687 + 0.02181877 * ($A56 / exp(5 * $B56)) + 0.00000171 * pow($A56 / exp(5 * $B56), 2)) * exp($B55 * (3.464157793 + 0.0000789055 * ($A56 / exp(5 * $B56)))) * $E55 * $D55);
    $H55 = @($F55 * ($I55 + $K55));
    $M55 = @(1 - exp(-$H55 * 8766.00));
    // и ешё чуть-чуть....
    $F10 = @(((293 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) * exp((1 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) - (1.00 / 293.00) + 2 * ($B10 - 1))) * $E10 * $D10);
    $H10 = @($F10 * ($I10 + $K10));
    $M10 = @(1 - exp(-$H10 * 8766.00));
    $F11 = @(((0.75 + 0.104 * $B11 * exp(0.877 * pow($B11, 3))) * (273 + ($A11 / exp(4.6 * $B11))) / 293) * exp((390 + 190 * $B11) * (($A11 / exp(4.6 * $B11)) - 20 + 0.016 * pow($B11 * ($A11 / exp(4.6 * $B11) - 20), 2)) / (293 * (273 + ($A11 / exp(4.6 * $B11))))) * $E11 * $D11);
    $H11 = @($F11 * ($I11 + $K11));
    $M11 = @(1 - exp(-$H11 * 8766.00));
    $F12 = @((pow($B12, 2) + 0.01) * exp((4500 + 400 * $B12 + 1400 * pow($B12, 3)) * ((1.00 / 293.00) - (1 / (273 + ($A12 / exp(8 * $B12)))))) * $E12 * $D12);
    $G12 = @(($H11 - $F11 * $K11) * ($A12 / exp(8 * $B12) / $A12));
    $H12 = @($F12 * ($I12 + $K12));
    $L12 = @((1 - exp(-$G12 * 8766.00)));
    $M12 = @(1 - exp(-$H12 * 8766.00));
    // 650+ строк таких вычислений для каждой буквы-переменной
    ?>

    Код получает несколько значений: кол-во моторов, транзисторов, микросхем и прочих элементов, после считает разные коэффициенты пожароопасности и шансы возгорания. Записывает их в таблицу и показывает на странице. Говорят, что это работает верно и уже около 6 человек защитили курсовые по этой теме(пожароопасность электроприборов) с использованием этого кода.

    vovkalamer, 24 Августа 2012

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

    +29

    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
    namespace NFlash
    {
            class TCommandMap
    	{
    	public:
    		typedef std::pair<NProtocolConsts::SCommands::E, pChar> TPair;
    	private:
    		std::vector<TPair> _commandMap;
    	public:
    		TCommandMap(void);
    		void appendCommand(TPair & Command);
    		void appendCommand(NProtocolConsts::SCommands::E, abstractString & Name);
    		const std::vector<TPair> & Names(void) const;
    		byte MaxCommandNameLength(void) const;
    		NProtocolConsts::SCommands::E GetCommandIndex(PChar Name) const;
    	};
    
    	void initCommandMaps(void);
    }

    Говногость, 24 Августа 2012

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

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ...
                    </table></td>
                  </tr>
                  <tr>
                   <td><img src="/img/ug2.jpg" width="200" height="11" /></td>
                  </tr>
             </table></td>
           </tr>
       </table></td>
     </tr>
    </table>
    <?}else echo"<br><br>";?>

    Особый, магический плэйсхолдер

    kindofbear, 24 Августа 2012

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