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

    +152.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
    36. 36
    <ul>
            \\\".listQuery(\\\"SELECT Hidden_URL, Subdivision_Name, Subdivision_ID FROM Subdivision WHERE Parent_Sub_ID = \\\$data[Subdivision_ID] and checked=1 order by priority \\\", \\\"
            <li><a href='\\\\\\\$data[Hidden_URL]'>\\\\\\\$data[Subdivision_Name]</a>
    
                <ul>
                    \\\\\\\".listQuery(\\\\\\\"SELECT Hidden_URL, Subdivision_Name, Subdivision_ID FROM Subdivision WHERE Parent_Sub_ID = \\\\\\\$data[Subdivision_ID] and checked=1 order by priority \\\\\\\", \\\\\\\"
                    <li><a href='\\\\\\\\\\\\\\\$data[Hidden_URL]'>\\\\\\\\\\\\\\\$data[Subdivision_Name]</a>
    
                    <ul>
                         \\\\\\\\\\\\\\\".listQuery(\\\\\\\\\\\\\\\"SELECT Hidden_URL, Subdivision_Name, Subdivision_ID FROM Subdivision WHERE Parent_Sub_ID = \\\\\\\\\\\\\\\$data[Subdivision_ID] and checked=1 order by priority \\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\"
                         <li><a href='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$data[Hidden_URL]'>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$data[Subdivision_Name]</a>
    
                         <ul>
                             \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\".listQuery(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SELECT Hidden_URL, Subdivision_Name, Subdivision_ID FROM Subdivision WHERE Parent_Sub_ID = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$data[Subdivision_ID] and checked=1 order by priority \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                             <li><a href='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$data[Hidden_URL]'>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$data[Subdivision_Name]</a>
                             <ul></ul></li>
    
                             \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\").\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                         </ul></li>
    
    
                         \\\\\\\\\\\\\\\").\\\\\\\\\\\\\\\"
                    </ul></li>
                    \\\\\\\").\\\\\\\"
    
                </ul></li>
    
            \\\").\\\"
            </ul></li>
    
        \").\"
        </ul></li>
        </li>
        ")."
        </ul>
        </div>

    Вывод меню в главном макете дизайна одного сайта на базе говноCMS Netcat. Можно попроще сделать, но видимо автор торопился ;) И весь этот говнокод редактируется в textarea размерами 700x300px без всякой подсветки.

    Запостил: guest, 26 Марта 2009

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

    • Spider:
      Жеееееееееесть!!!
      Ответить
    • DivX:
      КОШМАР
      Ответить
    • yOtten:
      это печально
      Ответить
    • это что за эпический вырвиглазий пездец?
      Ответить
    • Миша:
      У меня во вложенных запросах более \\\\\\ ставить не приходилось.
      Ответить
    • где здесь PHP, guest?
      Ответить
    • Почему у этого джекпот-треда дробный рейтинг?
      Ответить
      • Потому что "PHP" программисты не отличают "float" от "int", как там недавно объяснил "rotoeb"
        Ответить
        • Пока явисты, как дебилы какие-то, ставят букву фэ.
          Ответить
      • В 2009-м году гости могли голосовать, но сила их голоса была равна одной десятой.
        Ответить
        • 0.1 * ∞ = ∞
          Ответить
          • Математик?
            Ответить
          • 0.1 * ∞ = ∞ | /∞
            0.1 * 1 = 1
            0.1 = 1

            математика не нужна
            Ответить
            • В какой ситуации может понадобиться математика?
              Ответить
              • когда работаешь кассиром в макдональдсе
                Ответить
                • но ведь она там и не нужна
                  тыкаешь заказ, показывается сумма к оплате, называешь
                  вводишь в компуктер "внесено", компуктер пишет "сдача составляет"
                  выдаешь сдачу, какая написана
                  Ответить
                  • компуктеру в макдональдсе верить нельзя

                    https://www.youtube.com/watch?v=1oFpTNsPu_w&ab_channel=Hamburgla rBourne
                    Ответить
                    • еле нашел

                      https://pikabu.ru/story/zumer_protiv_mcdonalds_7086537
                      Ответить
                      • какое милое наебалово) ну там же написано везде "+50", "+20" итд.
                        Ответить
            • Неверно. 0/0 и ∞/∞ — это особые случаи. Эти дроби принимают неопределённое значение.

              Значение f(x)/g(x) при f(x)→∞ и g(x)→∞ может стремиться не к единице, а к произвольному числу, в зависимости от f(x) и g(x).
              Ответить
              • > неопределённое значение

                Ну хоть не неопределённое поведение...
                Ответить
              • Подтверждаю.
                f(x) = 6*x^2 + 2*x + 1
                g(x) = 3*x^2 + 42
                
                 lim  f(x) = +∞
                x → +∞
                
                 lim  g(x) = +∞
                x → +∞
                
                 lim  f(x) / g(x) = 2
                x → +∞
                Ответить
              • я нигде не писал что это матановская бесконечность
                Ответить
                • Это просто имя переменной такое?
                  Ответить
                • Тогда первая строчка в твоём комментарии не имеет никакого смысла. Если ты не указываешь поле, в котором производишь операции, то автоматически считается, что ты работаешь в поле целыхрациональных/вещественных/комплексных чисел, в зависимости от того, в которое из них влезут твои числа. А в этих полях элемент «∞» отсутствует. С тем же успехом ты можешь «умножать» на смайлик.
                  Ответить
                  • Мой собеседник сверху интерпретировал это как матановскую бесконечность, которая очевидно числом не является так что я не понимаю почему ты пишешь это мне
                    Ответить
                    • Потому что по-умолчанию этот значок интерпретируется именно как предельная бесконечность. В этом случае твои рассуждения, как и указал Saehrimnir, неверны.
                      Если ты хочешь какую-то другую бесконечность — тебе нужно определить поле с ней (правда, как ты это будешь делать — сложный вопрос). Повторюсь, пока что математического смысла в твоём комментарии не больше, чем в умножении на грустный смайлик.
                      Ответить
                      • Мне очень нравится как ты совмещаешь строгую математическую трактовку с "автоматически считается" и "по-умолчанию"
                        Ответить
                        • Для других трактовок пришлось бы явно их указать. Иначе большинство ма-те-ма-ти-ков не так поймёт.
                          Ответить
                        • А где ты видишь противоречия? Существует несколько строгих математических трактовок знака «∞», из них в «числовом» контексте по-умолчанию выбирается предельная бесконечность.
                          Впрочем, в любых других существующих трактовках твой комментарий всё ещё не имеет ни малейшего смысла.
                          Ответить
                          • > «числовом» контексте по-умолчанию выбирается предельная бесконечность.

                            Ты не сможешь этого пруфануть

                            >Впрочем, в любых других существующих трактовках твой комментарий всё ещё не имеет ни малейшего смысла.

                            Это не так потому что возможных трактовок бесконечное множество
                            Ответить
                            • Разумеется, могу: https://en.wikipedia.org/wiki/Infinity_symbol.
                              In mathematics, the infinity symbol is used more often to represent a potential infinity,[1] 
                              rather than an actually infinite quantity such as the extended real numbers, the ordinal numbers 
                              and the cardinal numbers (which use other notations).

                              В источники [1] и [9] ты сможешь заглянуть и сам.

                              И именно потому, что «возможных» трактовок — счётное множество (ты же за строгие математические трактовки, да?), я и упомянул существующие трактовки. Из них, увы, твой комментарий не наделяет математическим смыслом ни одна.
                              Ответить
                              • >Разумеется, могу

                                Фраза "часто используется" никак не пруфает фразу "используется по умолчанию"

                                >ты же за строгие математические трактовки, да

                                я этого нигде не писал
                                Ответить
                                • Давай откроем словари синонимов и посмотрим.
                                  https://sinonim.org/s/по умолчанию
                                  как обычно (8) 1772.22
                                  2 само собой разумеется (36) 52.6477
                                  3 стандартно (14) 0.6
                                  4 как принято изначально (1) 0.00395

                                  https://kartaslov.ru/синонимы-к-слову/по+умолчанию
                                  как обычно, стандартно, как принято (или: задумывалось) изначально, как задано изначально

                                  Как видишь, вполне себе пруфает. Если у тебя есть более надёжные источники в виде толковых словарей — продемонстрируй их.

                                  Хорошо, тогда, раз уж ты от меня требуешь пруфов на каждый чих, продемонстрируй нам и свой: ссылку на существующую трактовку знака «∞», в которой твой изначальный комментарий содержит верные математические утверждения.
                                  Ответить
                                  • >Давай

                                    Я не признаю того что англоязычная статья на википедии которую ты уже взялся переводить является пруфом твоего утверждения

                                    >Хорошо, тогда, раз уж ты от меня требуешь пруфов на каждый чих

                                    я требую от тебя пруф одного утверждения
                                    Ответить
                              • Математик из раш ки и математик из украш ки посрались. Какой багор )))
                                Ответить
                                • я просто пофлудить пришел, а на меня набросились математики
                                  Ответить
                                  • Осторожно! По ночам ма-те-ма-ти-ков не кормят, поэтому они злые и голодные.
                                    Ответить
                                  • Спокойной ночи, bootcamp_dropout.
                                    Ответить
          • Надо порыться в исходниках, чтобы понять, была ли защита от мультиголоса. Идентифицировать гуестов по сессии бессмысленно, ибо гуесты могут каждую минуту чистить куки вилкой. По айпишнику?
            Ответить
            • Если айпишник динамический, то гуесты могут с таким же успехом вытаскивать и вставлять вилку роутера и течь.

              Получается, идентифицировать отдельного гуеста не получается возможным, только всякими шпионскими штучками ЦРУ.
              Ответить
              • Подтверждаю. Сам так делал. Однако, пул адресов провайдера — это всё-таки не ∞. И на передёргивание роутера уйдёт несколько секунд (DHCP может выдать адрес не мгновенно, а с задержкой). Провайдеры FTTx после передёргивания роутера могут выдать старый адрес (они запоминают MAC-адрес сетевой карты или номер физического порта своего роутера). Провайдеры ADSL будут около минуты производить согласование физических параметров (уровень сигнала, используемые частоты). У беспроводных провайдеров тоже подключение небыстрое.

                Даже при успешном переподключении, если ты за NAT'ом, ты можешь снова оказаться за тем же NAT'ом, и у тебя с точки зрения сайта будет тот же адрес.

                Мне кажется, за час даже тысячу голосов передёргиванием роутера поставить нереально.
                Ответить
                • Зато передергиванием лукового маршрутизатора - вполне.
                  Ответить
                  • Вряд ли. В «Торе» прямо сейчас 1651 выходная нода всего. Там парадокс дней рождения не позволит так быстро тысячу набрать.
                    Ответить
                    • Хм, я думал их больше...

                      Ну можно замутить свою реализацию которая строит цепочки через конкретные ноды.
                      Ответить
                      • все выходные ноды публично известны же
                        некоторые сервисы их просто всех блочан
                        Ответить
                • Чаще всего у гостя будет статический публичный адрес, потому что гость не хочет сидеть за CGNAT и не уметь в upnp. А кстати CGNAT вполне может переодически выдавать тебе разный адрес: ничто не мешает оборудованию иметь несколько внеших адресов, и привязывать тебя к какому-то из них в случайном порядке, но наверное лучше сделать это после переподключения, чтобы не испортить существующие сессии.


                  Любые сети, в которых у клиента есть активное оборудование "а-ля модем" (DOCSIS, ADSL, думаю что и PON, но это не точно) действительно подключаются совсем не сразу: их заебешься передергивать. Кроме собственно согласования кучи параметров и выбора протокола в случае docsis еще и прошивка может приехать.

                  Кстати, в случае ADSL адрес выдает не DHCP а IPCP: во всяком случае так было у Ростелекома в моем городе: DSL это по сути подключение к сети ATM -- такой старой сети, которая использовалась внутри АТС. Кто помнит VPI и VCI при настройке DSL, так вот это понятия ATM: "виртуальные каналы" поверх коммутации ячеек.
                  Верхняя часть ATM называется AAL5, и эмулирует поверх ATM всякое говно.
                  А а далее либо прямо поверх AAL5 запускался PPP (PPPoA), либо эмулировался Ethernet (AAL5 так умеет) и поврех него запускался PPPoE.

                  Верхняя часть PPP, настраивающая "прикладной" (с точки зрения PPP) протокол называется в общем случае NCP, конкретная ее реализация для IP -- IPCP.
                  IPCP выдает IP адрес, маршруты, может даже DNS и Wins выдать (расширения от MS), включить Van Jacobson compression и пр.
                  Ответить
                  • ps:
                    Интересно, что многие современные провы (например Билайн в моем городе) даже при подключении через Ethernet поверх все равно запускают PPP (или напрямую или через L2TP).

                    Сделано это вероятно чтобы однообразно делать AAA и для DSL, и для dialUp (ну когда он еще был) и для подключения по кабелю: пользователь аутентифицируется через RADIUS сервер[1], и трекается сам факт подключения и время подключения и отключить всегда можно, и стандарт промышленный.
                    Так что если у вас в настройкее встречается L2TP или PPP, то ваш внешний адрес вы получаете возможно не по DHCP:)

                    [1] https://ru.wikipedia.org/wiki/RADIUS
                    Ответить
                    • Ага, «Билайн» (бывшая «Корбина», «Голдентелеком» и т. д.) через голый Ethernet пускают только локалку, а для выхода во внешние интернеты нужно ещё подключиться к каналу L2TP или PPTP, на что уйдёт время.
                      Ответить

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