ЙажаСценарий / Говнокод #10722 Ссылка на оригинал

0

  1. 1
http://pastebin.com/KNAhNqJC

В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.

* поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
* альтернативный "мягкий" метод скрытия комментариев - белое на белом.
* переписано на jQuery, раз уж оно есть на уютненьком ГК.

Как обычно, заточено под Firefox+GreaseMonkey.

Запостил: Vindicar Vindicar, (Updated )

Комментарии (166) RSS

  • И в лучших традициях сразу квикфикс:
    http://pastebin.com/s8Gb1EKb

    Теперь посты скрываются только на главной и в категориях, но их все еще можно просмотреть по прямой ссылке на пост.
    Ответить
  • Предупреждаю: использование недокументированных возможностей скрипта - только на свой страх и риск!
    Ответить
  • var mdList=['Ushlepok','Uebok','Copy-Paste','Govno','Pediastr','alexoy','lohp ider','uiopqwertyasd'];
    комментарии тут излишни

    P.S. Кода по-прежнему многовато:
    Вот этот свитч плохо пахнет
    switch (method)
    {
    case '0':commentAuthorLink
    	.parents("li[class='hcomment']:eq(0)")
    		.hide()
    	;break;
    case '1':commentAuthorLink
    	.parents("div[class='entry-comment-wrapper']:eq(0)")
    		.hide()
    	;break;
    case '2':commentAuthorLink
    	.parents("div[class='entry-comment-wrapper']:eq(0)")
    		.addClass('entry-comment-hidden')
    		.find("span[class='comment-text']")
    			.before('<span class="hidden-text"><a class="ajax" href="#">'+options['message']+'</a></span>')
    Ответить
    • Альтернативы? Писать 4 метода по одной строке в каждом?
      Или 4 раза повторять один и тот же цикл?
      Посмотрю конечно...
      Ответить
      • Ну моё мнение - в js вообще можно писать без switcheй.
        А-ля {'0': hide,'1':function anotherHide(e){...} итд}
        К тому же он у тебя потом ниже дублируется.
        Ответить
        • заменить свитч объектом-хэштаблицей? Тоже вариант...
          А ниже методы другие, так что один фиг понадобится другая таблица.
          Ответить
    • Как вообще себя можно так не уважать? Взял себе унизительный ник, ругаешься матом позоришься. Делом что ли займись. А то пишешь ерунду на говнокодике, а потом ешь мамин борщ, снова пишешь на говнокоди и опять ешь мамин борщ. Не жалко старушку? Не стыдно ей в глаза смотреть?
      Ответить
    • Стране не хватает сантехников!!! Иди лучше делом займись.
      Ответить
  • var banned = ['Ushlepok','Uebok','Copy-Paste','Govno','Pediastr',
    		'alexoy','lohpider','uiopqwertyasd'];
    
    function collapse_govno_comments () {
        var b = window.getBrowser();
        var d = b.contentDocument;
        var comments = d.getElementsByClassName('entry-author');
    
        for (var i = comments.length - 1, s; i >= 0; i--) {
    	s = comments[i];
    	if (banned.indexOf(s.firstChild.innerHTML) > -1) {
    	    s.parentNode.parentNode.parentNode.removeChild(
    		s.parentNode.parentNode);
    	}
        }
    }
    
    ext.add("collapse-govno-comments", collapse_govno_comments,
    	M({ en: "Removes unwanted comments",
    	    ru: "Убирает неинтересные комментарии" }));


    Хз. зачем так сложно. кот выше для пользователей keysnail. Ну он, правда, не минусует, ну а с другой стороны - а какая разница?

    usage:
    M-x collapse-govno-comment
    Ответить
      • Да ладно вам, там из контекста понятно че такое b и d (и даже s).
        Ответить
    • Твой скрипт убивает коммент беспощадно, тогда как мой - с разной степенью воскресимости.
      Ответить
      • Ну как бы можно было бы конечно со всякими бонусами, но собственно, если мне так уж захочется комментарии увидеть, то я и перезагрузить страницу могу... Но, наверное все-таки стоили минусовать перед удалением.
        Ответить
    • var banned = ['Ushlepok','Uebok','Copy-Paste','Govno','Pediastr',
      		'alexoy','lohpider','uiopqwertyasd'];
      
      var vote = "http://www.govnokod.ru/ratings/comment/%id%/against";
      
      function collapse_govno_comments () {
          var d = window.getBrowser().contentDocument;
          var comments = d.getElementsByClassName('entry-author');
      
          for (var i = comments.length - 1, s, p, id, x; i >= 0; i--) {
      	s = comments[i];
      	p = s.parentNode.parentNode;
      	id = p.id.replace(/[^\d]+/, '');
      	if (banned.indexOf(s.firstChild.innerHTML) > -1) {
      	    x = new XMLHttpRequest();
      	    x.open('POST', vote.replace('%id%', id), true);
      	    x.send();
      	    p.parentNode.removeChild(p);
      	}
          }
      }
      
      ext.add("collapse-govno-comments", collapse_govno_comments,
      	M({ en: "Removes unwanted comments",
      	    ru: "Убирает неинтересные комментарии" }));


      Вариант с минусованием 🙂
      Ответить
      • Ну как-то одновременно и вайт-лист и блек-лист делать не комильфо, можно конечно в спискок забить регулярки, но, все-таки не так уж много пользователей...

        Вот что хреново, так это АПИ говнокода, которые не позволяют одним запросом заминусовать несколько комментариев и каждый вызов такого скрипта пошлет надцать запросов.

        Нужна кнопка "взять все".
        Ответить
        • Реквестируем такое апи для говнокода 2.0 (вопрос спорный, ибо есть злые минусаторы с ботами, зачем им упрощать жизнь?)
          Ответить
  • Отдам bash-скрипт "потопления" в хорошие руки.
    Ответить
  • Педиастр слабоват, чтоб мешать. Нет этого баттхёрта, этой искренности злобы.
    Ответить
    • Низкопотенциальный баттхерт, однако. Предлагаю десяток рачков посадить в рекуператор чтобы обеспечить приемлемый выход.
      Ответить
    • Педиастр слабоват, чтоб доставлять. Нет этого баттхёрта, этой искренности злобы.
      ftfy

      Плохой, очень плохой долбоёб нынче пошел, думал гораздо лучше будет .
      как компренда и орлежек и срали они в одном треде.
      Ответить
      • Да, долбоебы совсем не те, что раньше. Даже роль долбоеба от души отыграть не могут.
        Ответить
  • IP пассажира: 188.65.69.252. Причем, он его не менял ни разу. Пассажир сменил уже два аккаунтов (знаете больше - пишите), но ip адрес один и тот же.

    Пользуется анонимными онлайн-почтовиками для регистрации.

    В данный момент ip забанен. Ждем освоения пассажиром proxy.
    Ответить
    • мне вот интересно, изпод общественных акков он же писал или (фанфары!) нашелся подражатель...
      я даже не поленился ReallyBugMeNot от него запереть
      Ответить
    • >>>Ждем освоения пассажиром proxy.
      Пассажир, падла, освоил-таки прокси.
      Ответить
      • Предлагаю забанить все прокси во всём интернете.
        Ответить
          • ))) Поциент не любит, когда вспоминают о его нетрадиционной ориентации и любви к пиписюнчикам 🙂 Это о Тарасе ^_^
            Ответить
    • Есть гораздо более веселые способы. Трудно убиваемые куки (google:\\Evercookie) + скрытный бан - посты пассажира показываются только ему. Первое реализовать не очень сложно, второе куда сложнее, но эффект замечательный.
      Ответить
      • как буд-то он читает свои посты. это система должна посылать нахуй, если ее отыметь пытаются
        Ответить
        • Так он не сможет определить, забанен очередной аккаунт или нет, а значит, напрасно потратит время.
          Ну и потом, мой вариант не исключает наличия какой-то эвристики для определения хуйни. Хотя такую эвристику имхо написать нереально, особенно для кучи.
          Ответить
      • Легко обходится клиентом, которые такие куки будет игнорировать. Принуждать всех пользоваться только такими куками - бред.
        Ответить
        • Обойти можно что угодно, вопрос в соотношении усилий на защиту и усилий на обход.
          Тупое школоло споткнется, а умное обычно такой херней не страдает.
          Ответить
            • > ты школьник?
              Ja, mein Führer!

              > военные тайны школьникам
              Если он поставит себе *nix, после чего будет флудить из консольного клиента, то он достигнет просветления.
              Если честно, LSO - зло. Использовать их глупо, панацеей они не являются, гуглится на ура. А мне, параноику со стажем, сама идея трудноочищаемых кук кажется дверью в ад.

              P.S. Жаль, отредактировать камент не могу, так что военную тайну не убрать!
              P.P.S. И никто не сказал, что надо делать `sudo`.
              Ответить
              • > И никто не сказал, что надо делать `sudo`.
                Дык хэш в приглашении командной строки как бы намекает, что ты root
                Ответить
                • Таки несекьюрно, менеджер пакетов надо запускать через судо, от специального юзера-судоера.
                  Ответить
                  • Несекьюрно, потому что можно случайно замутить rm -rf *?
                    Ответить
                  • Не могу сообразить, чем запуск менеджера пакетов из-под рута несекьюрен... Ну кроме, конечно, самого факта работы под рутом.
                    Ответить
                    • Менеджер пакетов надо запускать от рута, но работать от рута опасно. Для того и есть sudo. Я, правда, привык уже от рута и работа от обычного пользователя не приносит обычного удовольствия.
                      Ответить
                      • эх, если бы еще и венда при установке не давала права админа, а аналогичным образом просила повышение привилегий, то вирусов было бы намного меньше.
                        да, есть UAC, но что-то от него больше бед, чем толку (
                        Ответить
                        • Имхо проблема вот в чем - юзер хочет удобства - возможности прописывать что-то в свой локальный автозапуск, ставить программы (хотя бы локально в свой хомяк), работать со своими документами, писать что-то на флешку и т.п. Если у него это отобрать - система станет неюзабельной.

                          А этих прав, к сожалению, вполне достаточно для типичного вируса.

                          С правильно выставленными правами и UAC вирус, конечно, не укоренится в системе, не заразит соседних пользователей - но в текущем профиле он будет спокойно жить и творить свои темные дела.

                          UPD: собственно такие вирусы возможны и в linux, и их нет только благодаря вменяемости ЦА и ее немногочисленности.
                          Ответить
                          • с правильно выставленными правами он просто не выживет в системе
                            Ответить
                            • Подтверждаю это. Белый список приложений, запуск ограничен политиками. Обойти можно, но сложно.
                              Само собой, работа от простого пользователя только, использовать NTFS и еёйные права; даже если пользователь скачает вирус, тот не сможет запуститься.
                              Единственный шанс - 0-day сплоит против системного процесса, но против лома не поможет ничего.
                              Ответить
                              • > Белый список приложений
                                Для корпоративного использования - идеально. А для домашнего ПК... маловероятно что типичный юзер это выдержит.
                                Ответить
                              • а еще бы и венде, и никсам помогла бы политика ограничения прав, вон как в андроиде, например (или соцсетях). т.е. при установке софта виден список требуемых прав. как вариант, неплохо бы не только видеть, но и галочками запрещать некоторые требуемые.

                                например, чаще телефоновирям требуются права "слать (платные) смс". честно, если я вижу такой запрос, то я просто не устанавливаю приложение.
                                Ответить
                                • А вот это плюсую.

                                  В принципе, наверное, можно поставлять с программой набор рулек для selinux. И сделать какую-то морду, расшифровывающую их в нечто понятное пользователю - "доступ к интернет, доступ к /home" и т.п...
                                  Ответить
                                  • для нативного кода, кроме кодоанализаторов, я не представляю, как это сделать. а вот для жабакода это проще простого, там уже есть SecurityManager и *.policy (привет апплетам)
                                    очень удобно при организации всякого рода "плугинаторов", т.е. расширяемого кода, где доверия к плагинам нет.
                                    Ответить
                                • > неплохо бы не только видеть, но и галочками запрещать
                                  "Может содержать следы злаков и ракообразных" (надпись на пачке сухариков)
                                  Беда в том, что функции телефона довольно очевидны и реально опасных из них штук пять, типа тех же СМС или доступа к личной информации. Приложения потенциально всеобъемлющи. Скажем, для типичного Windows-приложения там будет целая гора функций, библиотек и прочих следов злаков. Даже если выделить некоторый базис, например, запуск сетевых процессов, но не запретить доступ ко WMI, можно запускать процессы через него. Вариантов масса. Немного выкручиваюсь с Outpost в режиме проактивки, но реально овчинка выделки не стоит.
                                  Никак стопроцентно домашнюю систему не защитить. Разве что каждое приложение должно быть подписано и запускаться в своей песочнице в режиме паравиртуализации.
                                  Ответить
                                  • > Никак стопроцентно домашнюю систему не защитить.
                                    Согласен, потому что "с правильно выставленными правами он [юзер] просто не выживет в системе".
                                    Ответить
                                  • " а вот для жабакода это проще простого, там уже есть SecurityManager и *.policy (привет апплетам)" - по-моему, достаточно гибко. как решение для юзера - делать иерархическую структуру разрешений (например, "доступ к файловой системе" целиком, а в подпунктах, какие именно папки и т.д.)
                                    Ответить
                                • Последний раз когда устанавливал что-то в обход Debian PPA - это был Node.js. И, если честно, то мне трудно представить пользователя десктоп Линукса который бы скачивал откуда-то из интернета программы и устанавливал зачем-то, если у него нет полной уверенности в том, что делает. Тоесть, мне сложно представить ситуацию, когда бы я чего-нибудь такое установил себе не подозревая, что оно будет СМС посылать куда-то. Т.е. ну как бы это выглядело? Скачал левый RPM / DEB и его подсунул менеджеру? Ну т.е. человек, который знает как это сделать наверняка понимает, что делает. Добавить левый ППА в сорцы аптитуд? Ну как бы тоже - фантастика. Возможность только у совсем неопытных пользователей, которые привыкли что в Виндовсе программа-установщик - это бинарник, который ни открыть и ни посмотреть нельзя. И в рассчете на таких делать специальную программу?.. хз, мне кажется, что шансы у такой "атаки" совсем никакие...
                                  Ответить
                                  • да в том и проблема, что в линуксе есть пара хорошо известных, а потому, доверенных, источников, откуда можно установить все необходимое.
                                    в винде такого репо нет, поэтому хз что притащится из инета с очередного сайтика.

                                    имхо если юзер дурак, то никакой линух ему не поможет... как говорится, "самый главный вирус - между клавой и стулом"
                                    Ответить
                          • скомпрометировать профиль < скомпрометировать систему
                            Ответить
                            • Само собой. Для сервера. А для однопользовательского десктопа - почти одно и тоже.

                              Не все же такие параноики как я, и держат диск с данными смонтированным в RO.
                              Ответить
                              • пока что приходится использовать виртуалку для всякого сомнительного софта. а идеально было бы юзать какую-нить "песочницу"
                                Ответить
                                • А по мне так виртуалка удобней песочницы. Снимки и возможность поставить ее на паузу того стоят.
                                  Ответить
                                  • не, кесарю таки кесарево. виртуалка - это отдельный комп, а мне нужно отдельное окружение для приложения, но являющееся частью одной системы. приложение должно думать, что оно одно в убогой системе, хотя на самом деле это не так.
                                    а виртуалка дает еще одну копию системы, которая использует ресурсы просто так, а еще в силу эмуляции и тормозит (и само, и хост-систему мучает)
                                    повторюсь - задачи тут разные, и использовать решение одной задачи для другой, особенно когда не нужно такого функционала - это воркараунд и костыли (
                                    Ответить
                                    • Ну вот я когда-то думал поиграться с правилами selinux. Но лень как всегда помешала раскурить маны.
                                      Ответить
                                      • хм. имхо это наследие 90х, когда еще в чятиках всем разрешалось хытыэмэлем писать, и никто и не думал, что можно вообще подумать о том, чтобы навредить... эта бомба разорвалась позже, но ситуация не изменилась - максимум, чтобы юзер чувствовал себя в безопасности, стоит какой-нить антивирь
                                        Ответить
                                      • а нет, вру - ситуация изменилась. теперь каждая софтина, даже от "надежных", казалось бы, источников, пытается с собой протащить какую-нить шпионскую гадысь, вроде всяких майлруспутников и смайлобаров, а в догрузку и пару "бесплатных" программ, которые оказываются триальными
                                        привет, Download Master, AnVir Task Manager и Skype!
                                        Ответить
                                        • непоказательные примеры, хотя с тенденцией я согласен

                                          > Download Master
                                          это же вроде школософт, который любят по причине узости кругозора

                                          > AnVir Task Manager
                                          вообще такого не знаю sysinternals suite?

                                          > Skype
                                          что еще можно ожидать от фронтэнда на Delphi...
                                          Ответить
                                          • 1.был еще отличный FlashGet, но с версии 1.76 превратился в УГ (
                                            остальные качалки мне не понравились
                                            2. ну похожий, хотя тут удобнее - показывает сервисы и автозагрузку
                                            3. протокол закрыт, альтернатив нет
                                            Ответить
                                            • ТС забавный, таки да
                                              Гислар всё еще настаивает на установке в C:\TOTALCMD ?

                                              А вот почему до сих пор Скуре не среверсили - загадка...
                                              Ответить
                                                • Протоколы реверсить вроде как нигде не запрещается (Австралия?)
                                                  Ответить
                                              • > не среверсили
                                                Как утверждает авторитетное издание для дошкольников - журнал "какирь" со ссылкой на другие источники, скайп - хитрая срань, написанная с секретными вирусописательскими технологиями.
                                                Ответить
                                    • Виртуалка для одноразовой задачи над софтом из недоверенного источника самое то.
                                      Ответить
                              • > однопользовательского десктопа

                                как минимум двух пользовательского. или ты это изпод рута написал?
                                Ответить
                                  • нууу, если такой пользователь гордо заявляет, что это мол мой писюк, что хочу то на нём и делаю, хочу вишмастер запускаю, хочу - кракер интернета....

                                    сначала обойдут парадигму AAA которую MS в них кувалдой вколотил вмести с вистой, а потом жалуются мол винда несекурная, пойду ка я лучше на линупс дыр там понаделаю
                                    Ответить
                  • >Таки несекьюрно, менеджер пакетов надо запускать через судо

                    sudo несекьюрно, только PolicyKit
                    Ответить
              • Куку надо выдавать лично в руки по предъявлению паспорта и справки от психиатра и нарколога 😛
                Ответить
    • LOL, в порыве бугурта хомячки и Семена заминусовали 🙂
      Ответить
  • А меня в винде бесит блять то, что нет режима "заблокировать папку для всех программ, кроме тех, что внутри". Это решит все проблемы совместимости и не придётся выбирать - либо папка закрыта нахуй (и работать невозможно) либо открыта нахуй (и всем вирусам тоже). Почему до этого не додумались? Что, винда не может определить, из какой папки запущена программа?
    Ответить
  • ...
    Лишь программисты… не пахнут никак
    «Лишь программисты не пахнут никак»,-
    Подумать такое мог только дурак.
    «С»-кодировщик пахнет структурой,
    Visual Basic пахнет халтурой.
    С++ пахнет полиморфизмом,
    Оракл пахнет бюрократизмом,
    Митингом нудным разит DBA,
    Пахнет Main Frame, словно старый еврей.
    Web-программист пахнет связью случайной,
    Пахнут COBOL программисты отчаянием.
    Пахнет PASCALщик чем-то забытым,
    ACCESS разработчик — корытом разбитым.
    Вместе все пахнут словно бардак -
    Тестеры только не пахнут никак!
    Это неправда! Понюхайте сами,
    Тестеры вечно пахнут клопами…
    Только зайдешь к ним и глянешь вокруг -
    Так копошится какой-нибудь жук.
    Над программистом, как муха жужжит.
    — Тут не работает, там не стоит…
    Даже админ отмахнуться не сможет,
    Запах жука ему встанет дороже.
    Не зная ни кода и не системы,
    Тестеры пахнут общей проблемой !
    Автор неизвестен
    Ответить
    • Но как вы догадались, Холмс?
      Т.е. пруф бы не помешал.Хотя, кажется, понимаю. Поиск в гуголе по адресу и такой айпишник был на каком-то говнохабе. Не сильно внушает доверие, да.
      Ответить
      • Что известно поциент Константин Костин сидит на хабре, он использует луркосленг, значит сидит вконтакте. Во вконтакте есть публичная страница хабробыдла http://vk.com/habr, среди её подписчиков имеется всего один Константин Костин http://vk.com/kostinkv 🙂
        Ответить
        • > он использует луркосленг, значит сидит вконтакте
          Что вы говорите...
          Ответить
        • Аниськин местного разлива, браво, брависсимо.
          Могу только посочувствовать. С тех пор, как школьник научился пользоваться гуглом и вообразил себя великим деанонимизатором и какирем, в жизни у него появились новые стремления.
          Нет, я, конечно, могу сказать, что не состоял, не привлекался, не имеюотношусь к хаброкурвству абсолютно нейтрально и не читаю хабр,но осуждаю, и, тем более, не регистрировался в этом рассаднике фимоза. То, что кто-то там обладает похожим ником говорит только о том, что в мире идиотывсе думают одинаково. Этим же, кстати, объясняется обилие погонял типа "алукард", "няФФынька" или "%подставить имя супергероя, пони, явления%".
          Но такие аргументы школьника не убедят. А опускаться до твоего уровня и что-то доказывать - не владею твоим кукушиным сленгом.

          Так что или показываешь сиськи, или съябывай с моего двачика.

          P.S. Я всё понимаю, просто так поискать по слову - будут миллионы левых совпадений (на то и расчёт). Но почему именно хабр? Я ещё видел где-то чувака с таким же ником, на джое штоле.
          Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8