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

    0

    1. 1
    [][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()

    JSF*ck - http://www.jsfuck.com/.

    ЗЫ http://blog.checkpoint.com/2016/02/02/ebay-platform-exposed-to-severe-vulnerability/ - санитация ввода в ж.

    Dummy00001, 22 Марта 2016

    Комментарии (18)
  2. Куча / Говнокод #19677

    −1

    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
    (* basic power axiom
    safe_comp_power x y =
        case
            (x = 0) and (y <> 0) -> 1
            (x = 1) -> x
            ((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> x * (safe_comp_power x (y - 1))
    *)
    
    logic safe_comp_pow : int, int -> int
    
    axiom safe_comp_pow_int_A_1 : forall x : int. (x <> 0) -> safe_comp_pow(x, 0) = 1
    
    axiom safe_comp_pow_int_A_2 : forall x : int. safe_comp_pow(x, 1) = x
    
    axiom safe_comp_pow_int_A_3 : forall x,y : int. ((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> safe_comp_pow(x, y) = x*(safe_comp_pow(x,y-1))
    
    
    goal g_1 :
      forall a,n : int.
      a <> 0 -> n >= 0 ->
      safe_comp_pow(a,n+1) = safe_comp_pow(a,n)*a

    Язык для SMT солвера alt-ergo https://alt-ergo.ocamlpro.com/try.php . Аксиомы для возведения в степень. Возводить в отрицательную степень нельзя. Ноль в степени ноль - нельзя. Логика первого порядка. Должна быть справедлива для целых. Правда в одной аксиоме я допустил баг. Я его уже нашел. Можете тоже попробовать найти его

    j123123, 22 Марта 2016

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

    0

    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
    public function getWinnerEmail($id)
    {
            if (!is_numeric($id)) {
                throw new BadRequestHttpException('Ошибка:' . __FUNCTION__ . ' ' . __LINE___);
            }
    
            //$project = Projects::findOne(['id' => $id]);
            $project = (new \yii\db\Query())
                ->select(['id', 'win_user_id'])
                ->from(self::tableName())
                ->where(['id' => $id])
                ->one();
    //        if ($project['win_user_id'] == null) {
    //            return false;
    //        }
    
            $result = User::findOne(['id' => $project['win_user_id']]);
            if ($result != null) {
                return ['id' => $result->id, 'email' => $result->email];
            }
    }

    Метод модели "Project"
    PHP-Framework yii2

    NotFake, 22 Марта 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    (function extend(o, l) {
      return Object.defineProperty(o, 'this', { 
        get: O => extend(O = (x, y) => y ? o(x, O(x, y - 1)) : l ^ 1)
      });
    })(this.this = (x, y) => x + y, 1);

    Почти стрелочная нотация Кнута.
    this.this(2,3) = 2 + 3
    this.this.this(2,3) = 2 * 3
    this.this.this.this(2,3) = 2 ↑ 3
    this.this.this.this.this(2,3) = 2 ↑↑ 3 и т.д.
    По следам http://govnokod.ru/19651#comment317168.

    1024--, 22 Марта 2016

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

    +1

    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
    public class ResultBase {
            private ColumnCollections _columns;
            private ArrayList _rows;
    ...
    }
    ...
    public class ColumnCollections : System.Collections.Specialized.NameObjectCollectionBase {}
    ...
            public int Compare(object x, object y) {
                if (x != null && y != null) {
                    object[] objX = x as object[];
                    object[] objY = y as object[];
    
                    if (objX != null && objY != null && objX.Length > 0 && objX.Length == objY.Length) {
                        switch (_ColumnType.FullName) {
                            case "System.Int16":
                                if (_Direction == DirectionType.ASC) {
                                    return ((short)objX[_ColumnIndex]).CompareTo((short)objY[_ColumnIndex]);
                                } else {
                                    return ((short)objY[_ColumnIndex]).CompareTo((short)objX[_ColumnIndex]);
                                }
                            case "System.Int32":
                                if (_Direction == DirectionType.ASC) {
                                    return ((int)objX[_ColumnIndex]).CompareTo((int)objY[_ColumnIndex]);
                                } else {
                                    return ((int)objY[_ColumnIndex]).CompareTo((int)objX[_ColumnIndex]);
                                }
                            case "System.Int64":
                                if (_Direction == DirectionType.ASC) {
                                    return ((long)objX[_ColumnIndex]).CompareTo((long)objY[_ColumnIndex]);
                                } else {
                                    return ((long)objY[_ColumnIndex]).CompareTo((long)objX[_ColumnIndex]);
                                }
                            case "System.Double":
                                if (_Direction == DirectionType.ASC) {
                                    return ((double)objX[_ColumnIndex]).CompareTo((double)objY[_ColumnIndex]);
                                } else {
                                    return ((double)objY[_ColumnIndex]).CompareTo((double)objX[_ColumnIndex]);
                                }
                            case "System.Decimal":
                                if (_Direction == DirectionType.ASC) {
                                    return ((decimal)objX[_ColumnIndex]).CompareTo((decimal)objY[_ColumnIndex]);
                                } else {
                                    return ((decimal)objY[_ColumnIndex]).CompareTo((decimal)objX[_ColumnIndex]);
                                }
                            case "System.Single":
                                if (_Direction == DirectionType.ASC) {
                                    return ((float)objX[_ColumnIndex]).CompareTo((float)objY[_ColumnIndex]);
                                } else {
                                    return ((float)objY[_ColumnIndex]).CompareTo((float)objX[_ColumnIndex]);
                                }
                            case "System.String":
                                String sX = (!Convert.IsDBNull(objX[_ColumnIndex])) ? (String)objX[_ColumnIndex] : String.Empty;
                                if (String.IsNullOrEmpty(sX)) {
                                    sX = "";
                                }
    
                                String sY = (!Convert.IsDBNull(objY[_ColumnIndex])) ? (String)objY[_ColumnIndex] : String.Empty;
                                if (String.IsNullOrEmpty(sY)) {
                                    sY = "";
                                }
    
                                if (_Direction == DirectionType.ASC) {
                                    return sX.CompareTo(sY);
                                } else {
                                    return sY.CompareTo(sX);
                                }
                            case "System.DateTime":
                                if (_Direction == DirectionType.ASC) {
                                    return ((DateTime)objX[_ColumnIndex]).CompareTo((DateTime)objY[_ColumnIndex]);
                                } else {
                                    return ((DateTime)objY[_ColumnIndex]).CompareTo((DateTime)objX[_ColumnIndex]);
                                }
                            case "System.Boolean":
                                if (_Direction == DirectionType.ASC) {
                                    return ((Boolean)objX[_ColumnIndex]).CompareTo((Boolean)objY[_ColumnIndex]);
                                } else {
                                    return ((Boolean)objY[_ColumnIndex]).CompareTo((Boolean)objX[_ColumnIndex]);
                                }
                        }
                    }
                }
    
    
                return 0;
            }

    достался мне в наследство код, который я года два поддерживал. никогда не вдавался в код той тулзы, которая из базы результаты возвращяла, пока не пришлось описать проект комментариями, чтобы отдать его клиенту.
    компарер просто божественен...
    я конечно точно не знаю, кто это писал, но за то знаю, кому пренадлежил авторство конкретной версии, но за то знаю, кто писал первую... и этот человек мне еще говорил, что мой экстеншен в 50 строк, который через рифлексию миллион строк из IDataReader за секунду в коллекцию объектов возвращял, уверял меня, что это медленное и корявое говно. нет, это медленное и корявое говно!

    господи, за что?

    Lokich, 21 Марта 2016

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

    +1

    1. 1
    https://habrahabr.ru/company/tm/blog/279759/

    На Швабре можно постить гоатсе.

    Vasiliy, 21 Марта 2016

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for ( i = 0; i < Arr3.length; i++ ){
    	Arr3[i].innerHTML = Arr3[i].textContent
    					.replace(/пздц|пиздец|пизда|хуй|блядь|нахуй|сука|пидорас|пидор|хуета|чмошник|б\*\*|^го|куй|куй|сладкие|анал|марамойка| девочки|хауню|хуйня|пздц|накуй|придурок|придурог|блядский|блядство|доебался|ебало|ебанул|ебанулся|[её]бнутый|[её]бнутая|[её]бнутые|хуесос|хуесосы|шлюха|пиндуй|нах|пиздуй|ахуеть|ахуенный|ахуенно|[её]пт|пизда|пиздит|охуел|ахуел|спиздил|спизди|ебаный|пиздюк|пиздище|обосанная|обоссанная|обосанный|обоссанный|хохол|пох|хохлушка|пиздюк|пиздюки|жополиз|шлюхи|бляди|пиздабол|бля|пиздишь|ебан|ебло|(Пообщаюсь с девушкой!)|(одни бляди)|(Хули ты палишь)|хер|(хер в рот)|далбаеб|заебал|ебать|(нихуя себе)|мля|замутим|нихуя|ебу|вирт|шмара|замутить|засади|засадите|хуясе|проебал|охуенные|охуенный|охуенне|ипать|попи..дим|попиздим|попездим|ебануться|жопу|жопа|жопой|жопе|(жестко любит в рот)|падла|(гоу замутим вирт)|сцучка|гоу|бог|боже|еблей|ебля|ёблей|пиздёж|пиздеж|хуле|ёбля|еплей|епля|хз|ипал|ипать|сцука|сцуко|мразинка|мразь/ig, "&#127856;&#127799; The good word could be there, but there's only emptiness.&#127856;&#127799;");
    				
    	if( Arr3[i].textContent.match ( /tipos\.at\.ua|Профсоюзная|метро|(для мужиков)|krof\.3dn\.ru|(хочу секса)|(в финaнcoвoм плaне)|(uщy прияmнoгo мoлoдого челoвeкa)|порно|порнуха|(член у себя в попке)|(в эскорте для женщин)|(обмeн uнmимнымu фomкaми)|(для дружбы, секса и общения)|(вы не xoтелu бы пошaлumь cо мной?)|(Качественный утренний минетик)|opik\.id\.vg|(Ищу уверенного в себе мужчину, для серьёзных отношений или не совсем серьёзных)|(Кто хочет познакомиться для секса?)|(Хочу предложить тебе попользоваться друг другом)|(ищу партнёра для шалостей в скайпе)|(покажу член)|(Бyдy радa нoвoмy знакoмcтву c мужчuной для дpужбы, oбщенuя uлu чeго-то бoльшего)|(Покaжу кискy пo вебке)|(Покажу киску по вебке)|(Покажу по вебке)|(Покажу по скайпу)|(Кuдaю инmuм фоmки. вoзможна сmpечa)|(В поискe сuмпaтuчнoгo мoлoдoго парня для всmречи сегодня вечеpoм)|(Стройная, свободная, страстная девушка)|(ecmь многo uнтимных фоmoгрaфuй и видeo)|futr\.pp\.ua|(Прuглашу нa чaшечкy кoфe c послeдyющим прoдолжениeм)|(страстная, стройная брюнеточка)|fVuxFsYUyj\.vn\.tn|(сучку со со своего района и приписюнить)|(ищу парня для секса в свободное время)|(Путаны из твоего города.)|(Жду тебя у себя! Приятно проведем время!)|(Хочешь окунуться в чарующий мир жаркой эротики?)|(Мальчики кто хочет секса пишите)|(Встречусь с хорошим, страсть гарантирована)|(я oчень cильнo люблю соcaть)|(юблю бpаmь в рom y паpнeй посmаpшe)|(Милая, сексуальная, красивая и очень обаятельная)|(Жду в гости Котики мой номерочек)|(925-324-17-61)|(открылась новая группа по продаже кодов)|(кто желает встреч, пишите, оплата наличными)|(Телки скучают без мужиков)|www\.youwentianxia\.cn|(Чувственная, яркая и темпераментная девушка пригласит в гости)|(Прuглашу к ceбе сегодня вeчером молoдогo и веселого парня)|(Красивая девушка с горячим темпераментом)|(Привет, кто хочет секса)|(Строго Москва и 18+)|(B таких грyппaх куча мошенников, эти бaбы все ненастоящие!)|(я сейчас свободна и могу пригласить в гости)|(Одинокие женщины в поиске)|(заходите на бесплатные сайтики знакомств)|(Москва, оплата при личной встрече)|(девушка с горячими желаниями, желает тигра)|(кто хочет секс с горячей блонди)|(жду в гости, оплата при встрече)|(работа для парней 18)|(красивого, страстного мужчину)|(удивлю техниками минета и просто помогу получить незабываемое удовольствие)|(мaльчикu кmo желaem cо мной немнoгo пошалиmь)/ig)){
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.style.display="none";
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	   // alert(Arr3[i].className);
    	   Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	}
    }

    3_dar, 20 Марта 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #include <vector>
    
    template <typename T>
    void FreeAll( T & t ) {
        T tmp;
        t.swap( tmp );
    }

    3_dar, 20 Марта 2016

    Комментарии (67)
  9. JavaScript / Говнокод #19662

    +4

    1. 1
    2. 2
    this.navigator = navigator.userAgent || navigator.vendor || window.opera;
    this.mobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(this.navigator) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(this.navigator.substr(0,4));

    substr(0,4), Карл

    makc3d, 20 Марта 2016

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function k($heh) {
    	return ($heh == "") ? rand() : $heh;
    }
    
    // ...
    $stars += count(array_intersect(
    	array($this->k($this->id_type), $this->k($this->id_type2), $this->k($this->id_type3)), 
    	array($this->k($that->id_type), $this->k($that->id_type2), $this->k($that->id_type3))
    ));
    // ...

    не учитываем пустые id_type

    Uhehesh, 18 Марта 2016

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