"PHP" / Говнокод #777 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 guest, (Updated )

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

  • это что за эпический вырвиглазий пездец?
    Ответить
  • Миша:
    У меня во вложенных запросах более \\\\\\ ставить не приходилось.
    Ответить
    • Потому что "PHP" программисты не отличают "float" от "int", как там недавно объяснил "rotoeb"
      Ответить
      • Пока явисты, как дебилы какие-то, ставят букву фэ.
        Ответить
    • В 2009-м году гости могли голосовать, но сила их голоса была равна одной десятой.
      Ответить
          • В какой ситуации может понадобиться математика?
            Ответить
          • Неверно. 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/синонимы-к-слову/по+умолчанию
                                как обычно, стандартно, как принято (или: задумывалось) изначально, как задано изначально

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

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

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

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

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

            Получается, идентифицировать отдельного гуеста не получается возможным, только всякими шпионскими штучками ЦРУ.
            Ответить
            • Подтверждаю. Сам так делал. Однако, пул адресов провайдера — это всё-таки не ∞. И на передёргивание роутера уйдёт несколько секунд (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, на что уйдёт время.
                    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8