1. PHP / Говнокод #25293

    +3

    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
    <?php
    
    $b = array(
      0x0000 => 1095,
      0x5b9d => 1797,
      0x5fa9 => 516,
      0x6273 => 1677,
      0x6572 => 807,
      0x7fb9 => 1143,
      0x7fff => 2598,
    );
    
    foreach(preg_split('#(.{28})#', '123o770n100b234r570m701a888d799l220m966v460 439y833o982e', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $kiss) {
      $kiss = preg_split('#(\d+.)#', $kiss, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
      $bits = (intval($kiss[0] <= $kiss[1])     ) | (intval($kiss[1] <= $kiss[2]) << 1) | (intval($kiss[2] <= $kiss[3]) << 2) | (intval($kiss[3] <= $kiss[4]) << 3) | (intval($kiss[4] <= $kiss[5]) << 4)
              | (intval($kiss[0] <= $kiss[2]) << 5) | (intval($kiss[1] <= $kiss[3]) << 6) | (intval($kiss[2] <= $kiss[4]) << 7) | (intval($kiss[3] <= $kiss[5]) << 8)
              | (intval($kiss[0] <= $kiss[3]) << 9) | (intval($kiss[1] <= $kiss[4]) <<10) | (intval($kiss[2] <= $kiss[5]) <<11) 
              | (intval($kiss[0] <= $kiss[4]) <<12) | (intval($kiss[1] <= $kiss[5]) <<13)
              | (intval($kiss[0] <= $kiss[5]) <<14);
      $mask = gmp_init('539414e0a5380d4e02ab811ae054b81566055c2157014ec0531294c435310aac429d10a62c29832a60c558313a0c4c531306c4c152b054741518a5460d5182ac611b1a06b8852d414b4252d0b0b4298d0a5c42b31074c419b106654198a866215c283b0a0e528386a0e1543850ae222b881ad406b421ad032b444aca11d28466a119544650b194256429591152c454871522354889d2147484e5213b084e9813a4455912a6458991546454e11533054c895a30568ca1a32b08cad03634458d1a22668519a138684cca133604cd11176045d88175405d42175031d44475181d4631518e8463a8172a21ca8b12a2e0a8b9422e540bb110ec458b1174446b111a1c4688d1b0354c0d58435290d4343508ad421d5086ac05aa216a831aa0b8a82d4a0b560654a195056540e95033540cab0346c615318561614a5850d6142e850b1542c2b190ac60a', 16);
      $mask >>= $b[$bits];
      $i5 = gmp_intval(gmp_mod($mask,8));
      $mask >>= 3;
      $i4 = gmp_intval(gmp_mod($mask,8));
      $mask >>= 3;
      $i3 = gmp_intval(gmp_mod($mask,8));
      $mask >>= 3;
      $i2 = gmp_intval(gmp_mod($mask,8));
      $mask >>= 3;
      $i1 = gmp_intval(gmp_mod($mask,8));
      $mask >>= 3;
      $i0 = gmp_intval(gmp_mod($mask,8));
      $kiss = array($kiss[$i0], $kiss[$i1], $kiss[$i2], $kiss[$i3], $kiss[$i4], $kiss[$i5], $kiss[6]);
      print(preg_replace('#\d+#', '', implode($kiss)) . "\n");
    }

    Новогодней петух падал идею http://govnokod.ru/24496#comment450906
    к стати $b можно было оприделить снаруже от sort6 для быстроты

    Запостил: HACTEHbKA, 07 Января 2019

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

    • https://ideone.com/XjOdcH
      Ответить
    • Плоскодонки снова в моде?
      Ответить
    • Борманд опять забыл принять принял таблетки?
      Ответить
    • фу блять. напыхтели своими $ воняет аж сюда. нахуй вы вообще пхп используете, займитесь нормальными языками. пидоры блять. им сделали шарп, джаву (хоть уже даже она сдохла, есть охуенный котлин, но даже старая жаба получше говнопыхи), а они блять до сих пор пишут долары, жрут говно аж прицьмакуют. пидоры, говорю вам.

      похапэ - говно.
      Ответить
    • Давайте немного про веб. Могулия спокойно редактировать файлына vps через свою веб-морду, если адрес имеет вид число.число.число.число/рандомныецыфрыбкувы, его никто не знает, а файлы схороняются только в коталоге, например, /var/www/html/test/, и апач я запускаю только когда какую-нибудь хуйню тестю?
      Ответить
      • > никто не знает
        В принципе да. Веб-сервак боты, конечно, быстро обнаружат. Но они потом тестят популярные уязвимости. Так что твои рандомные циферки вряд ли кто-то найдёт (если у тебя апач не покажет их в индексе, лол).
        Ответить
        • Рандомные циферки могут утечь в поисковые системы через расширения браузера, поэтому лучше пользоваться чистым браузером (без расширений и не Хромом, потому что последний проверяет страницы с помощью Google Safe Search и за ним может прийти гуглобот, т. е. какой-нибудь очищенный Хромиум уже подойдёт).

          На странице желательно указать что-нибудь вроде <meta name="robots" content="noindex, nofollow"> (Яндекс и Гугл по-честному не добавляют страницу в индекс, если видят на ней такое ругательство).

          >> Веб-сервак боты, конечно, быстро обнаружат.

          На 80-м порту. На каком-нибудь другом вероятность обнаружения уже меньше.
          Ответить
          • Бля, про браузеры то я не подумал :(
            Ответить
            • Для верности можно попросить Апач требовать HTTP-аутентификацию, тогда и веб-морду дорабатывать не нужно, всё равно без пароля никто не войдёт.
              Ответить
            • Несколько лет назад был кокококой багор из-за утечки эсэмэсок в «Мегафоне». Оказывается, Яндекс-Бар, установленный у некоторых пользователей, проиндексировал веб-морду для просмотра «SMS» (был у них такой сервис, чтобы сообщения можно было с кокококомпьютера прочитать).

              А в Западном полушарии были аналогичные истории из-за «Alexa» (за тулбаром «Алексы» приходил бот archive.org и сохранял страницу навечно).
              Ответить
            • Вот до какого пиздеца в области приватности мы дожили: браузеры сливают историю кому попало, а никому, кроме полутора поехавших, дела до этого нет.

              Зато, бля, GDPR, уведомления о куках на каждом сайте, визги по поводу персональных данных, дикие штрафы за лишнюю проставленную печеньку… Где сойти с этой планеты?
              Ответить
              • Не раз вспомнишь Столлмана, который страницы выкачивает примитивной качалкой, а потом смотрит их, отрубившись от «Интернета».
                Ответить
                • Столлман — это классический безумный учёный, который в фильмах-катастрофах предсказывает Большой Пиздец. Его, разумеется, никто всерьёз не воспринимает. Пока БП не наступит.
                  Ответить
                  • Все самые прекрасные и глубокомысленные диспозиции и распоряжения кажутся очень дурными, и каждый ученый-военный с значительным видом критикует их, когда сражение по ним не выиграно, и самые плохие диспозиции и распоряжения кажутся очень хорошими, и серьезные люди в целых томах доказывают достоинства плохих распоряжений, когда по ним выиграно сражение.
                    (Л.Н. Толстой, Война и мир)

                    Мне кажется, подобное происходит с такими безумными учёными.
                    Если БП не настанет, люди будут вспоминать с улыбкой о паранойе неадекватного Столлмана, а потом и вовсе забудут.
                    Если БП настанет, Столлман станет иконой и провидцем, об этом будут говорить очень долго.

                    Плюс тут ещё вопросы будущего. С прошлым всё просто: ответ известен. А когда речь идёт о будущем, в ход вступают манипуляции и нагнетание.
                    Пока не случилось? Ну, обязательно случится же!
                    Вероятность крайне мала? Ну, давайте готовиться к худшему, жалко что ли! А не сбудется - ну так повезёт! И в секту нашу тоже вступайте. Всем, кто нам исправно платит - безбедная жизнь после смерти.
                    Ответить
              • >> GDPR

                Извините за ссылку на ресурс, который нежелательно называть, но нашлась забавная заметка:
                https://habr.com/post/433714/

                Один из сайтов того, кого нежелательно называть, забанили за то, что на нём был скрипт Гуглоаналитики, а предупреждений об этом сайт не выводил.
                Ответить
                • А после этого на сайте ведомства, название которого не употребляют в приличном обществе (и которое и забанило сайт того, кого нежелательно называть), нашли скрипт, который безо всяких уведомлений сканировал компьютер пользователя на наличие различных инструментов путём отсылания запросов на localhost. Ирония!
                  Ответить
                  • А если сделать на сайте уведомление, что мы запишем ваш e-mail, IP-адрес и всё, что можно извлечь браузерным JS и плагином Flash, и при первой возможности отправим в ФСБ, СБУ, ЦРУ, МИ-5, МИ-6, Моссад и алкашу из Нижнего Тагила, то тогда к сайту придираться не будут?
                    Ответить
                    • Если сайт благонадёжный — можно и без уведомления.
                      Ответить
                    • > мы запишем
                      Мы записали. Можете продолжать пользоваться сайтом, хуже уже не станет.
                      Ответить
                      • Вообще да, уведомление выводится уже после того, как сервер получил какую-то информацию.

                        Идеально было бы хранить это уведомление в TXT-записи DNS-сервера, чтобы обращения к веб-серверу для получения уведомления совсем не было.
                        Ответить
              • показать все, что скрытоvanished
                Ответить
            • Ну, у wget можно хотя бы исходники посмотреть, может, там какой-нибудь недокументированный ключ --security-do-not-check-rating-at-google
              Ответить
              • Тогда надо не забыть --security-do-not-send-history-to-yandex и --security-do-not-receive-bing-address-suggestions. А, и ещё --security-do-not-help-duckduckgo-to-index-the-internet.
                Ответить
          • > не добавляют
            Или просто не показывают?

            А то у них есть "мы нашли страницу, но админ просил её не показывать".
            Ответить
            • Чтоб Гугл, да добровольно отказался от сбора каких-то данных?![/не совсем color]
              Ответить
            • «Требования политкорректности запретили нам раскрывать сексуальную ориентацию Васи из 12-й квартиры.»
              Ответить
          • Ишь как всё запущено, не зря я не стал эту хуйню запускать.
            Ответить
        • показать все, что скрытоvanished
          Ответить
      • показать все, что скрытоvanished
        Ответить
        • >> 3) но гугл можливо закрыть через robots.txt

          Если бы я был хакером, я бы первым делом посмотрел в robots.txt, что же от меня хочет скрыть админ. Хотя в принципе можно скрыть всё (/), тогда robots.txt ничего не выдаст.
          Ответить
        • 3) это знаем
          4) с iptables я немного разобрался, но настройки пока менять не стал, а то ещё чего накосячу.
          5) чем опатче устарел? Много раз это слышал, а вот объяснений —– нет. Ну, а вообще-то он уже стоял.
          6) с этим тоже разобрались

          И, кстати, почему не рекомендуют авторизацию ssh по поролю? Потому что люди склонны придумывать простые пароли? Или почему-то ещё?
          Ответить
          • Опатче не любят за то, чочо он тяжёлый, в частности, за надуманную проблему невозможности установления более 9000 соединений:
            http://www.kegel.com/c10k.html

            Nginx, lighttpd и ещё несколько современных серверов в этом плане намного отзывчивее.

            Эта проблема может тебя задеть, если ты держишь за сервером торрент-трекер, онлайн-игру или сайт, ориентированный на китайскую аудиторию, с посещаемостью, как у Википедии или Ютуба, ну или если твой сервер часто дудосят (изо всех серверов ошибку «сервисе унаваилабля» первым покажет именно Опатче).

            Если сервер не перегружен, не тормозит, не вылетает, то в принципе можешь пользоваться любым софтом.

            >> И, кстати, почему не рекомендуют авторизацию ssh по поролю?

            В частности, поэтому. Посмотри в логах, сколько ботов пытаются подобрать пороль к ssh. Если всё же используешь пароль, для безопасности попробуй сменить номер порта ssh с 22 на нестандартный (только перед экспериментом продумай возможность отката настроек, если вдруг не заведётся) либо установить sshguard (эта штука автоматически добавляет брутфорсеров в чёрный список iptables).
            Ответить
            • Походив по хуйцкерским форумам я поняо что большинтсво методов взлама рассчитаны на дурачков и невниматейных юдишек. Логин по ssh у меня только для одного ющера, по root'у низля. Просто сменил прот чтобы логи не росли. Если логин/пароль никуда не утекту, то вряд ли взломают.

              Кстати боты начали брутить пороли к root, admin, сервице и пр. в ту же минуту когда был запущен сервир, как они его так быстро нашли?
              Ответить
              • > Кстати боты начали брутить пороли к root, admin, сервице и пр. в ту же минуту когда был запущен сервир, как они его так быстро нашли?
                В сети постоянно работают очень много ботов, непрерывно сканирующих распространённые порты (SSH, Telnet). Им не нужно даже весь IPv4 брутить — достаточно обходить только подсети, принадлежащие хостерам (а списки подобных подсетей легко гуглятся).

                Ну и не так давно посоны с 10G карточкой продемонстрировали сканирование всего IPv4 за 10 минут.
                With a 10gigE connection and PF_RING, ZMap can scan the IPv4 address space in 5 minutes.
                Ответить
            • Апаче? Его ещё кто-нибудь хуюзает, кроме долбоёба-майрамукаева, в нашей говнореспублике?
              Ответить
            • показать все, что скрытоvanished
              Ответить
          • показать все, что скрытоvanished
            Ответить
        • показать все, что скрытоvanished
          Ответить
          • Да они сами до конца не разобрались, что там происходит.

            > In basic HTTP authentication, a request contains a header field of the form Authorization: Basic <credentials>, where credentials is the base64 encoding of id and password joined by a colon.

            > To unauthenticated requests, the server should return a response whose header contains a HTTP 401 Unauthorized status and a WWW-Authenticate field.

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

            Всё потому, что термины эти настолько же дурацкие, насколько термины "определение" и "объявление" (definition/declaration). Тоже звучат одинаково и тоже именуют сильно пересекающиеся сущности. В 90% случаев аутентификация неотделима от авторизации, а определение - от объявления. И только в остальных десяти действительно нужны отдельные термины для авторизации и объявления.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • > На самом деле термины довольно четкие: аутентификация есть определение того что некто является петухом (например, посредством малявы).
                Чёткие здесь только прилагательные и краткие прилагательные/причастия как описания фактов.
                авторизован-не авторизован - позволено-не позволено
                аутентифицирован-не аутентифицирован - пользователь-аноним
                Рассматривая исполнение программы, скорее всего, можно сказать точно, каков пользователь на этот момент.
                А аутентификация-авторизация - расплывчатая пересекающаяся питушня.

                > например купить хлеба в магазине авторизован даже анонимус/гость, тут аутентификация не требуется.
                Но и авторизация как процесс тоже не требуется. Когда анонимус стал авторизованным - с момента создания магазина, с момента своего рождения, в момент захода в магазин, в момент написания законов о магазине, в момент создания первого магазина? Философский вопрос. Авторизация могла проходить в равновероятно в каждый из этих моментов, а значит, согласно бритве Оккама, можно считать, что она так и не прошла.

                > грабля, на которую наступают многие новички
                Вот я и говорю, дурацкие термины, пересекающиеся сущности.
                Объявление должно начинаться с declare, всё остальное - считаться определением, потому что инклюдить такую питушню два раза не получится.
                Аналогично с авторизацией: всё, что только авторизация, причём явная - пусть авторизацией называется; всё, что пересечение - называется аутентификацией; всё, где аноним сразу авторизован - отсутствием аутентификации/авторизации.
                Ответить
                • > философский вопрос
                  Анонимус или пользователь не может быть "авторизованным". Авторизация всегда относится к конкретным действиям - зайти в магазин, купить водку. Соответственно, авторизация проходит в момент совершения этих действий - "уже 9 вечера, мы не можем продать вам водку".
                  Ответить
                  • > Анонимус или пользователь не может быть "авторизованным"
                    Ко-ко-ко, синуса тоже не существует?
                    Я же писал не об авторизации (sin), а об авторизации для покупки хлеба (sin x).
                    В этом случае философский вопрос остаётся.

                    Термин "авторизован для" уж слишком часто используется, чтобы не существовать ("жопа есть, а слова нет").

                    > авторизация проходит в момент совершения этих действий
                    То есть до этого покупатель не авторизован? "Имеет право на"?
                    А после авторизации - не авторизован потому, что слова такого нет?

                    Выходит, "авторизация" - ненужное говно. Можно невозбранно использовать в разговоре вместо длинного и невыговариваемого "аутентификация", а для всех целей использовать термин "проверка прав", "имеет право".
                    * При аутентификации не проверяют права, проверяют регистрацию пользователя. Теоретики в некоторых случаев кукарекуют про проведённую параллельно авторизацию.
                    * Изначально известно, имеет ли пользователь право (записано в коде или законе)
                    * Проверка прав явная. Если на сайте нет разграничений доступа, то нет проверки прав, когда теоретики могут спорить об авторизации.
                    Чёткие термины без пересечения.
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                      • Какой тут троллинг? Попытка упорядочить программистские знания. Программисты без надобности используют сильно пересекающиеся термины, когда могут обойтись однозначными.

                        * Авторизация - только когда есть явная проверка прав и нет аутентификации (например, отдельная от аутентификации функция check_access или authorize). Все остальные auth* - аутентификация.
                        * Объявление - только когда конструкция играет роль только объявления и не является определением. Все остальные о* - определение.
                        Ответить
                      • @троллишь
                        @1024--

                        свято место пусто не бывает. только обидно чуть.
                        Ответить
                        • Для меня идеал - троллить изредка и тонко, место штатного тролля занимать не планирую.
                          Ответить
                    • показать все, что скрытоvanished
                      Ответить
        • > еще паскуднее чем пыхоблядствол
          А я хз чо ещё можно сделать, у меня нет фонтанзии.
          Ответить
      • показать все, что скрытоvanished
        Ответить
        • У меня нет "яндекс.ьар", и хромом не пользуюсь, только фирефох или орега.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • С чего бы ей быть мьортвой?
              Ответить
              • С того, что 12.18 вышла почти три года назад (причём от Оперы 2012-го года её отличали только мелкие фиксы) и более новой не предвидится.

                Или ты про Хромооперу? В какой-то мере она лучше Хрома (кажется, от гуглосервисов, которые идут в комплекте с Хромом, она отвязана, но нужно проверить).
                Ответить
                • Ну они не прекратили новые версии клепать, и ответвлений никаких не было, просто всё перехуячили движок сменили. Так что не вижу смысла называть орегу хромойорегой. Последняя версия 9-го января вышла.
                  Ответить
                  • Они не движок сменили, они взяли новый браузер и стали его выпускать под старым названием.

                    Вот если, например, Запорожский автомобильный завод вдруг начнёт по лицензии собирать «Опели», ты их будешь называть «Запорожцами»?
                    Ответить
                  • А ещё для сравнения:
                    • «Mac OS» и «Mac OS X» –— это разные операционные системы.
                    • «Macintosh (68k)», «PowerMac» и «iMac» —– это разные кокококомпьютеры.
                    Ответить

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