1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4777

    +172

    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
    if(!empty($_SESSION["aktion"])){
    //Если сесии не найдено то проверяем если куки
    if(isset($_COOKIE["key"]) && isset($_COOKIE["PHPSESSID"]) && isset($_COOKIE["wrkesh"])){
    //Прогоняем куки через фильтры
    $test["key"] = htmlspecialchars($_COOKIE["key"]);
    $test["key"] = stripslashes($_COOKIE["key"]);
    $test["key"] = mysql_real_escape_string($_COOKIE["key"]);
    $test["PHPSESSID"] = htmlspecialchars($_COOKIE["PHPSESSID"]);
    $test["PHPSESSID"] = stripslashes($_COOKIE["PHPSESSID"]);
    $test["PHPSESSID"] = mysql_real_escape_string($_COOKIE["PHPSESSID"]);
    $test["wrkesh"] = htmlspecialchars($_COOKIE["wrkesh"]);
    $test["wrkesh"] = stripslashes($_COOKIE["wrkesh"]);
    $test["wrkesh"] = mysql_real_escape_string($_COOKIE["wrkesh"]);
    //проверяем если такая запись в бд
    $test_result = mysql_query("SELECT * FROM session WHERE md_5_id='$test[wrkesh]' AND ip='$_SERVER[REMOTE_ADDR]' AND clucc='$test[key]' AND sid='$test[PHPSESSID]'");
    $test_myrow = mysql_fetch_array($test_result);
    if($test_myrow ==true){
    //Если даные с кук и бд совподают то создаём сессию
    $_SESSION["aktive"] ="aktive";
    mysql_close();
    }
    }
    }

    С "Ответов" mail.ru - типа проверка безопасности.

    planaric, 28 Ноября 2010

    Комментарии (104)
  3. Java / Говнокод #27011

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    [code]
                lengthMapping.put("pt", Float.valueOf(1f));
                // Not sure about 1.3, determined by experiementation.
                lengthMapping.put("px", Float.valueOf(1.3f));
                lengthMapping.put("mm", Float.valueOf(2.83464f));
                lengthMapping.put("cm", Float.valueOf(28.3464f));
                lengthMapping.put("pc", Float.valueOf(12f));
                lengthMapping.put("in", Float.valueOf(72f));
    [/code]

    MAPTbIwKA, 08 Октября 2020

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

    0

    1. 1
    if(!preg_match('/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i', $email)){

    dm_fomenok, 20 Мая 2018

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

    +9

    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
    #define public public: void operator delete(void *pituh) {}; public
         
    class poteklo
    {
    public:
        poteklo() :
            TheAnswer(42)
        {
             ;
        }
         
    private:
         int TheAnswer;
    };
         
    int main(int argc, char *argv[])
    {
        poteklo *uteklo = new poteklo;
        delete uteklo;    // Утекло!
    
        return 0;
    }

    Макро в духе "#define TRUE FALSE", только хардкорнее.
    https://ideone.com/ZdGnuL

    gost, 30 Мая 2016

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

    0

    1. 1
    Тарас с сайта ebanoe.it это не я

    TarasB, 11 Мая 2016

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

    +168

    1. 1
    define("OUTPUT_DIR_CSV", "kokoko/kukarek/files" . DIRECTORY_SEPARATOR);

    Stallman, 19 Февраля 2015

    Комментарии (103)
  8. JavaScript / Говнокод #16141

    +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
    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
    (function(G, D) {
        "use strict";
        var $ = G.jQuery,
            listener;
    
        function addListener(elem, fn) {
            function handler(event) {
                event = event || G.event;
                var dx = event.DeltaX || event.wheelDeltaX || event.detail || 0,
                    dy = event.DeltaY || event.wheelDeltaY || event.detail || 0;
                event.dx = dx === 0 ? 0 : dx / Math.abs(dx);
                event.dy = dy === 0 ? 0 : dy / Math.abs(dy);
                fn(event);
            }
    
            if (elem.addEventListener) {
                if (D.hasOwnProperty('onwheel')) { //Modern browsers
                    listener = "wheel";
                } else if (D.hasOwnProperty('onmousewheel')) { //Old browsers
                    listener = "mousewheel";
                } else { //FF<17
                    listener = "MozMousePixelScroll";
                }
                elem.addEventListener(listener, handler, false);
            } else { //IE<9
                elem.attachEvent("onmousewheel", handler);
                listener = "onmousewheel";
            }
        }
    
        function removeListener(elem) {
            if (elem.removeEventListener) {
                elem.removeEventListener(listener);
            } else {
                elem.detachEvent(listener);
            }
        }
    
        $.fn.mousewheel = function(fn) {
            return this.each(function() {
                addListener(this, fn);
            });
        };
        $.fn.unmousewheel = function(fn) {
            return this.each(function() {
                removeListener(this, fn, false);
            });
        };
    }(this, document));

    Написал плагин для jQuery, который цепляет на элементы обработчик события вращения колесика мыши. Что скажете? Как бы вы написали функцию unmousewheel()?

    dunmaksim, 10 Июня 2014

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

    +135

    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
    private void Button2_Click(object sender, EventArgs e)
        {
          this.Label4.Text = new StreamReader("C:\\Program Files\\Microsoft Visual Studio 10.0\\VB\\VBProjects\\датаметр\\датаметр\\bin\\Release\\Key.txt").ReadLine();
          if (Operators.CompareString(this.Label4.Text, "vrc5rhhgyuuoxr45", false) == 0)
          {
            this.Button1.Visible = true;
            this.TextBox1.Visible = true;
            this.Label1.Visible = true;
            this.Label4.Visible = false;
            this.Button2.Visible = false;
            this.Label3.Visible = true;
            int num = (int) Interaction.MsgBox((object) "Ключ верный.\r\nНе сообщайте его никому !!\r\nИ не потеряйте.", MsgBoxStyle.OkOnly, (object) null);
          }
          else
            this.Label4.Text = "Ключ не верный !!\r\nПоменяйте его в файле \"Key\"";
        }

    Классное расположение файла. Причём в архиве лежит пустой файл Key.txt рядом с программой...
    Как надо было извратиться, чтобы в коде оказался не просто абсолютный путь, но и вот такой-вот с Program Files, ведь по умолчанию VS создаёт проекты в Моих документах

    http://www.cyberforum.ru/vb-net/thread971437.html

    Qwertiy, 08 Октября 2013

    Комментарии (103)
  10. C# / Говнокод #13314

    +134

    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
    using System;
    using System.Security.Cryptography;
    
    namespace sha1_calc
    {
        class Program
        {
            static void Main(string[] args)
            {
                SHA1 sha = new SHA1CryptoServiceProvider();
                foreach (var fname in args)
                {
                    Console.WriteLine("file: " + fname);
                    try
                    {
                        System.IO.FileStream fs = System.IO.File.Create(fname);
                        byte [] res = sha.ComputeHash(fs);
                        fs.Close();
                        Console.Write("0x");
                        foreach (var i in res)
                        {
                            Console.Write(i.ToString("X"));
                        }
                        Console.WriteLine();
                        Console.WriteLine("---------------------------------");
                    }
                    catch(Exception e)
                    {
                        Console.WriteLine("error: " + e);
                    }
                }
                Console.ReadKey();
            }
        }
    }

    Скачал парочку образов и решил проверить их чексуммы. Протестировал программу на скачанных файлах. Удивился, почему же у них хеши одинаковые?

    Xom94ok, 05 Июля 2013

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

    +97

    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
    program Project42;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils, Math;
    
    const
      Radix = 10;
    
    function čòũʼnť(N: Integer): Integer;
    begin
      Result := 0;
      while N > 0 do
      begin
        N := N div Radix;
        Inc(Result);
      end;
    end;
    
    function count(N: Integer): Integer;
    begin
    //  Result := Ceil(LogN(Radix, N));     { slow! }
      Result := Ceil(Log10(N));
    end;
    
    function rdtsc: Int64;
    asm
            rdtsc
    end;
    
    var
      I: Integer;
      t0: Int64;
    
    const
      N = 100500;
    
    begin
      try
        Assert((count(42) = čòũʼnť(42)) and (count(100500) = čòũʼnť(100500)));
    
        t0 := rdtsc;
        for I := 1 to N do
          čòũʼnť(Random(MaxInt + 1));
        Writeln('naïve: ', rdtsc - t0, ' ticks');
    
        t0 := rdtsc;
        for I := 1 to N do
          count(Random(MaxInt + 1));
        Writeln('prőper: ', rdtsc - t0, ' ticks');
    
        Writeln(StringOfChar('-', 42));
    
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    
      if DebugHook <> 0 then
      begin
        Write('any big key to exit...');
        Readln;
      end;
    
    end.
    
    { http://imgs.xkcd.com/comics/haiku_proof.png :-P }

    матан > метан
    O(1) > O(N)
    логарифм > байтоёбства с делением

    bugmenot, 01 Декабря 2010

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