За последние 24 часа нас посетили 20053 программиста и 1571 робот. Сейчас ищут 1966 программистов ...

Говно код

Тема в разделе "Прочее", создана пользователем kosinus2012, 8 авг 2012.

  1. Wrisee

    Wrisee Новичок

    С нами с:
    25 сен 2013
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    Киев
    Святые суслики!))))
    да, хорошо, что Вы не способны такое написать))))
    Индусский код отдыхает)))
     
  2. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    а ещё когда пишут php внизу а html наверху потом ничерта не работает ниче не видно только после рефреш
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Окотение :(
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Окотенение мозга.
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Которакта мозга - помутнение полушарий.
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.119
    Симпатии:
    1.245
    Адрес:
    там-сям
    актуальная версия UMI.CMS. коммерческая система. доступна в течении ознакомительного периода.
    простите за обфусцированный код, так они видимо пытаются спрятать косяки и просто код из эпохи PHP3.

    Код (PHP):
    1. global $_FILES;
    Код (PHP):
    1. $GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT'])
    понравилась функция-оболочка над mysql_real_escape_string(). походу они очень надеялись что при удачном раскладе кеш будет так эффективен, что удастся избежать соединения с базой. в итоге:
    Код (PHP):
    1. function l_mysql_real_escape_string($v60ff169ad58411fd2225ed8018b24018, $v6f66e878c62db60568a3487869695820 = 'core')
    2. {
    3.     ...
    4.     if ($v0c1d0e2ef91d68bdb15eff954448b898->isOpen()) {
    5.          ...
    6.         $result = mysql_real_escape_string($v60ff169ad58411fd2225ed8018b24018, $v2a304a1348456ccd2234cd71a81bd338);
    7.     } else {
    8.         $result = addslashes($v60ff169ad58411fd2225ed8018b24018);
    9.     }
    10.     return $result;
    11. }
    им невдомек, что эсксейпить строки надо именно в тех случаях, когда они будут подставляться в запрос БД -- то есть раз мы эскейпим, то запрос и соединение будут. только вот наша строка уже прошла через не ту функцию. блестящяя оптимизация!

    еще у них есть оболочки над mb_* функциями, тоже очень тонко оптимизированные:
    Код (PHP):
    1. define('MB_ENCODING_SUPPORTED', function_exists('mb_internal_encoding'));
    2. ...
    3. function wa_substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a)
    4. {
    5.     if (MB_ENCODING_SUPPORTED) {
    6.         mb_internal_encoding("UTF-8");
    7.         return mb_substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a);
    8.     } else {
    9.         return substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a);
    10.     }
    11. }
    12.  
    расшифровываю: если расширение мультибайтных строк не установлено, то х*й с ним. будем обрабатывать строки как не-мультибайтные, ошибкой просим не считать!
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    святые протояйцы О_О
     
  8. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    не забивай себе голову всякой ерундой, через это говно надо просто пройти
     
  9. kosinus2012

    kosinus2012 Активный пользователь

    С нами с:
    16 июл 2012
    Сообщения:
    137
    Симпатии:
    0
    Программист явно в белой горячке бился головой о клавиатуру,)))
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это хеши имен переменных
     
  11. kosinus2012

    kosinus2012 Активный пользователь

    С нами с:
    16 июл 2012
    Сообщения:
    137
    Симпатии:
    0
    Понятно, а в каких случаях используют такой способ названия переменных?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    очевидно, когда хотят испортить жизнь тем, кто полезет ковырять код
     
  13. kosinus2012

    kosinus2012 Активный пользователь

    С нами с:
    16 июл 2012
    Сообщения:
    137
    Симпатии:
    0
    Наверное для того, чтобы не наткнуться на переменные с такими же именемами
    Код (Text):
    1. $v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a
    Код (Text):
    1. str,pos,offset
     
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.119
    Симпатии:
    1.245
    Адрес:
    там-сям
    ага, буквально md5($name) :D

    если хотели затруднить копирование кода, то эта фигня практически бесполезна.
     
  15. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Код (PHP):
    1. if ((((((($st != "1")&($st != "2"))&($st != "3"))&($st != "4"))&($st != "5"))&($st != "6")&($st != "7")&($st != "8")&($st != "0"))) {$st="0";};
    2.  
    Только что дали заказ на доработку самописного сайта... Открываю, а там :)))
    Дальше ещё круче:
    Код (PHP):
    1.  
    2. $zapros = "
    3.     SELECT
    4.         product.cod,
    5.         product.`name`,
    6.         sector.s0,
    7.         sector.s1,
    8.         sector.s2,
    9.         sector.s3,
    10.         sector.s4,
    11.         sector.s5,
    12.         sector.s6,
    13.         sector.s7,
    14.         sector.s8
    15.     FROM
    16.         product ,
    17.         sector
    18.     WHERE
    19.         product.cod = sector.cod AND sector.s".$st."=1
    20.     ORDER BY
    21.         product.id ASC
    22.     ";
    23.  
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а есть способ узнать имя переменной? =)
     
  17. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не, не этой, а вообще любой, переданной в функцию
     
  19. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    igordata, это вы мне? Тут ещё хохма, что $st берётся из $_GET['st']
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да ну это уже не смешно =) не могу столько лет подряд смеяться над таким, тут постоянно такое люди постят довольные...

    как узнать имя переменной? :D
     
  21. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Вы всё пытаетесь понять, нафига вот так написано? Я кажется разгадал. Эта хреновина вообще интернет магазин, у него имеется 9 категорий и отношение товара с категориями многие-ко-многим. Так вот. У каждой записи товара в базе есть девять флагов c именами st0-st8, и если, к примеру, установлен флаг st1 и st5, значит товар есть в категории 1 и 5. Собственно, это не функция, а один из модулей, отвечающих за вывод товаров в категории...

    Я тут подумываю попытаться заказчика убедить просто с нуля ему новый сайт написать, а не эту хрень дорабатывать...
     
  22. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.119
    Симпатии:
    1.245
    Адрес:
    там-сям
    и наверное даже работает при удачном ветре!
    а if() реально доставил

    Добавлено спустя 4 минуты 58 секунд:
    имя переменной никак не узнать. разве что debug_backtrace + парсинг )))
     
  23. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    ненене можно-можно!
    недавно было надо, и не спрашивайте зачем =)
    вот:
    Код (PHP):
    1. function print_var_name($var) {
    2.     foreach($GLOBALS as $var_name => $value) {
    3.         if ($value === $var) {
    4.             return $var_name;
    5.         }
    6.     }
    7.     return false;
    8. }
     
  24. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Ke1eth, а если не глобальную переменную передали? Это раз. Два - а если несколько переменных с одним значением - это два. Три, разве наличие в языке передачи параметра по ссылке не исключает полностью необходимость такого трюкачества?