Форум -> Вагон для некурящих -> Смешное из кода слаеда. Только для программеров. |
Смешное из кода слаеда. Только для программеров. |
---|
sunvas | Дата: 19.11.2007, в 15:56 | Сообщение №1 |
ПрофиПользователь №: 181 Сообщений: 554
| Давайте будем публиковать в этой теме смешные участки кода из слаеда. Под словом смешные понимается неоптимальные, некрасивые и непрактичные участки кода, которые у программеров вызывают только хохот и желание покрутить пальцем у виска.
Единственным условим пускай будет - предложить достойную замену коду: так мы сможем сделать код системы лучше и чище (а значит она станет быстрее работать).
Итак, я начну:
Вот код (template.php):
PHP - Код | 1 2 3 4 5 6 7
| <?php if (file_exists("templates/".$ThemeSel."/".$bl_name.".html")) { $bl_mass[$bl_name]['m'] = true; } else { $bl_mass[$bl_name]['m'] = false; } ?> |
Зачем так трудно-то да еще и со скобками??
Ведь можно просто и красиво:
PHP - Код | 1 2 3
| <?php $bl_mass[$bl_name]['m'] = file_exists("templates/".$ThemeSel."/".$bl_name.".html"); ?> |
|
|
|
Sunvas | Дата: 03.12.2007, в 00:20 | Сообщение №2 |
ПрофиПользователь №: 181 Сообщений: 554
| Продолжаю веселую тему. Следующий участок кода взят из 3.4 ПРО. Не знаю о какой оптимальности может идти речь, по-моиму нужно оскар дать в номинации дебилизм. После этого даже не знаю, как назвать тех, кто покупает слаед "лицензию"...
Итак, наберите в легкие побольше воздуха:
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php if (!get_magic_quotes_gpc()) { reset($_GET); foreach ($_GET as $value) { global $$key; $$key = addslashes($value); } reset($_POST); foreach ($_POST as $value) { global $$key; $$key = addslashes($value); } reset($_COOKIE); foreach ($_COOKIE as $value) { global $$key; $$key = addslashes($value); } reset($_REQUEST); foreach ($_REQUEST as $value) { global $$key; $$key = addslashes($value); } } ?> |
Решение: вырезать нахер! |
|
|
screatch | Дата: 03.12.2007, в 01:04 | Сообщение №3 |
Активный участникПользователь №: 186 Сообщений: 143
| Эх, Санвас, Санвас.. Зачем же ты Эдуарду идею подаёшь, ведь в следуйщей версии всё так и будет.. |
|
|
Sunvas | Дата: 03.12.2007, в 01:21 | Сообщение №4 |
ПрофиПользователь №: 181 Сообщений: 554
| Дык пофигу. Зато буду гордиться, что пэд у меня код тырит :) |
|
|
omvitamin | Дата: 03.12.2007, в 01:29 | Сообщение №5 |
Активный участникПользователь №: 157 Сообщений: 188
| Вот смеху будет. Теперь СЛАЕД будет слизан с phpNUKE и доделан стыриными у Sanvas`a доработками |
|
|
Sunvas | Дата: 05.12.2007, в 14:25 | Сообщение №6 |
ПрофиПользователь №: 181 Сообщений: 554
| Ну что, продолжим?
PHP - Код | 1 2 3
| <?php if (file_exists("config/config_function.php")) require_once("config/config_function.php"); ?> |
Пэд не знает даже о существовании функции include.. Что ж. Кто еще хочет купить лицензию? |
|
|
Hunter | Дата: 05.12.2007, в 23:31 | Сообщение №7 |
СтранникПользователь №: 265 Сообщений: 9
| Как то давно рылся в коде и заметил странности, узнав об этой теме решил отпостить
Исследуем security.php
PHP - Код | 1 2 3
| <?php $temp_user = substr("".$temp_user[1]."", 0, 25); ?> |
Эквивалентно:
PHP - Код | 1 2 3
| <?php $temp_user = substr($temp_user[1], 0, 25); ?> |
Нахрена тут двойные кавычки? для меня загадка
Едем дальше..
PHP - Код | 1 2 3
| <?php fwrite($fhandle, "".$log_header."".$error_log."\n"._URL.": ".$url."\n"._STARTDATE.": ".$date_time."\n---\n"); ?> |
Эквивалентно:
PHP - Код | 1 2 3
| <?php fwrite($fhandle, $log_header.$error_log."\n"._URL.": $url \n"._STARTDATE.": $date_time \n---\n"); ?> |
."". - сила...
далее
PHP - Код | 1 2 3
| <?php fwrite($fhandle, "".$log_header."".$error_desc.": ".$error_var." Line: ".$error_line." in file ".$error_file."\n"._URL.": ".$url."\n"._STARTDATE.": ".$date_time."\n---\n"); ?> |
Эквивалентно:
PHP - Код | 1 2 3
| <?php fwrite($fhandle, $log_header.$error_desc.": $error_var Line: $error_line in file $error_file \n"._URL.": $url \n"._STARTDATE.": $date_time\n---\n"); ?> |
Далее
PHP - Код | 1 2 3
| <?php if (preg_match($security_string, $var_value)) hack_report("Hack in GET - ".$var_name." = ". $var_value.""); ?> |
Эквивалентно:
PHP - Код | 1 2 3
| <?php if (preg_match($security_string, $var_value)) hack_report("Hack in GET - $var_name = $var_value"); ?> |
Подобных примеров с функцией hack_report много, кто захочет по аналогии догадается
Далее
PHP - Код | 1 2 3
| <?php if (preg_match("/php|php3|php4|php5|php6|js|htm|html|phtml|cgi|pl|perl|asp/i", $var_value)) ?> |
Не все ли равно что:
PHP - Код | 1 2 3
| <?php if (preg_match("/php|js|htm|cgi|pl|perl|asp/i", $var_value)) ?> |
Далее
PHP - Код | 1 2 3
| <?php $user_block = "".$user.","; ?> |
Подобно:
PHP - Код | 1 2 3
| <?php $user_block = $user.","; ?> |
Подобных примеров много...
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Hunter 05.12.2007 г. в 23:32:34 |
|
|
Serg_pnz | Дата: 05.12.2007, в 23:41 | Сообщение №8 |
АдминистраторПользователь №: 1 Сообщений: 2243
| По поводу кавычек местами не соглашусь, поскольку читал статью с тестами, что переменные надо убирать за кавычки, ну по типу Код | 1
| echo "текст".$param."текст"; |
Данный комментарий не относится к
Ссылку на сравнительную статью завтра выложу (на работе она). | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Serg_pnz | Дата: 05.12.2007, в 23:43 | Сообщение №9 |
АдминистраторПользователь №: 1 Сообщений: 2243
| Если честно, то я не совсем поддерживаю данную тему. Как-бы объяснить...
"не ошибается то, кто ничего не делает" и "в своем глазу..."
По сему тему переименую, как придумаю подходящее название. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Sunvas | Дата: 05.12.2007, в 23:46 | Сообщение №10 |
ПрофиПользователь №: 181 Сообщений: 554
| Не согласен с тобой Serg_pnz. Нужно думать, что ты делаешь, а не ошибаться на каждом шагу: "так а это для красоты впихнем".
По-моиму название темы полностью отражает ее суть. К тому же мы предлагаем решения этой темы, а не тупо постим. Так что не советую трогать.... Велкам ту айсикью - развею все сомнения.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Sunvas 05.12.2007 г. в 23:48:13 |
|
|
Serg_pnz | Дата: 05.12.2007, в 23:47 | Сообщение №11 |
АдминистраторПользователь №: 1 Сообщений: 2243
| Ну и пара моих наблюдений
1. Во всех версиях Код | 1
| } elseif ($stop) {
$stop = $stop;
} else {
$stop = ""._UPLOADEROR."";
} |
может всё же Код | 1
| } elseif (!$stop) {
$stop = ""._UPLOADEROR."";
} |
2. В 3.4 Про "классный" выход из положения найден - при публикации краткого описания файла теги просто отфильтровываются. И вправду, нафига админу теги в описании. Подробности тут (лень тему тащить сюда) | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Hunter | Дата: 05.12.2007, в 23:47 | Сообщение №12 |
СтранникПользователь №: 265 Сообщений: 9
| Ну я показал здесь то, на что обратил внимания и по своему мнению считаю неправильным, а там может и я не прав, бывает делаешь, что то по привычке, и у меня в коде наверно можно найти помарки... Раньше писал по принципу работает - и ладно, а счас пытаюсь как можно лучше, корректнее и т.д. но привычка злая штука.... |
|
|
Sunvas | Дата: 03.01.2008, в 18:53 | Сообщение №13 |
ПрофиПользователь №: 181 Сообщений: 554
| Это же не первая версия системы и даже не 5я. Уже 3.5 вышла и все те же глюки, те же ошибки. Так будет и далее - кто-то должен ткнуть носом. |
|
|
Hunter | Дата: 03.01.2008, в 23:28 | Сообщение №14 |
СтранникПользователь №: 265 Сообщений: 9
| Согласен что к этой версии уже все должно быть в коде отлажено |
|
|
XaMMeR | Дата: 04.01.2008, в 00:54 | Сообщение №15 |
МодераторПользователь №: 196 Сообщений: 75
| Ну и я добавлю.. ради смеха...
Вобщем есть во всех версия.. но я рассмотрю 2.5 лайт...
Файл header.php, строка 18-19...
PHP - Код | 1 2 3
| <?php if ($use != base64_decode('V2ViIHNpdGUgZW5naW5lIGNvZGUgaXMgQ29weXJpZ2h0IKkgMjAwNiBieSA8YSBocmVmPSJodHRwOi8vd3d3LnNsYWVkLm5ldCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTTEFFRCBDTVMiPlNMQUVEIENNUzwvYT4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPg==') || !preg_match("#{%LICENSE%}#", $index)) die(base64_decode('PGJyPjxicj48Y2VudGVyPjxpbWcgc3JjPSJpbWFnZXMvbG9nby5naWYiPjxicj48YnI+PGI+RGFyaW5nIGNvcHlyaWdodHMgb2Ygc3lzdGVtLCB5b3UgYnJlYWsgdGhlIGxpY2Vuc2Ugb2YgdXNlITwvY2VudGVyPjwvYj4=')); ?> |
Решение: удалить нафиг.. вообще не врубаюсь зачем это нужно... |
|
|
Sunvas | Дата: 04.01.2008, в 01:02 | Сообщение №16 |
ПрофиПользователь №: 181 Сообщений: 554
| XaMMeR, ответ не верный, садись 2.
Во-первых это копирайты, а во-вторых они находяться в файле sources.php.
----------
Еще пэд очень и очень хитро вставляет рекламу во все фри версии. Достаточно заглянуть в файл confg_header.php. Не трудно увидеть, что там - код немецного выкупщика трафика, платит за показы. Следовательно на каждом сайте фри версии пэд зарабатывает. При этом пэд сделал довольно хитрожопую защиту от удаления:
PHP - Код | 1 2 3 4 5 6 7 8
| <?php if ($redaktor == 2 && file_exists("config/config_header.php")) { ob_start(); require_once("config/config_redaktor.php"); $strhead .= ob_get_contents(); ob_end_clean(); } ?> |
Т.о. если пользователь удалит этот файл - хрен он получит доступ к редактору Tiny MCE.
Решение: очистить файл config_header.php |
|
|
Insecticide | Дата: 11.03.2008, в 00:53 | Сообщение №17 |
Активный участникПользователь №: 182 Сообщений: 130
| Цитата | По поводу кавычек местами не соглашусь, поскольку читал статью с тестами, что переменные надо убирать за кавычки, ну по типу |
Хочу заметить, что при этом рекомендуется использовать одинарные кавычки, т. к. считается, что ПХП быстрее их обрабатывает, чем двойные. Я тоже где-то видел сравнительный тест на эту тему... |
|
|
Sunvas | Дата: 30.04.2008, в 01:20 | Сообщение №18 |
ПрофиПользователь №: 181 Сообщений: 554
| Дело в том, что в кавычках строки парсяться, а в апострофах - нет. Например, если мы напишем такой участок кода:
PHP - Код | 1 2 3 4
| <?php $a=1; echo "$a"; ?> |
На выходе получим "1".
А если такой:
PHP - Код | 1 2 3 4
| <?php $a=1; echo '$a'; ?> |
То получим "$a". |
|
|
RRRinat | Дата: 30.04.2008, в 01:28 | Сообщение №19 |
Активный участникПользователь №: 135 Сообщений: 112
| Sunvas: Там еще был код, что-то вроде такого:
Если ты админ, то ты не видишь кода, а если не админ - то видишь.
У меня дня 2 эта реклама провисела, пока мне кто-то в аську не стукнул и не сказал, че за дерьмо у тебя на главной отображается.
Долго не врубался, почему у меня нет никакой рекламы, когда у других она есть.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно RRRinat 30.04.2008 г. в 01:29:35 |
|
|
Serg_pnz | Дата: 30.04.2008, в 08:13 | Сообщение №20 |
АдминистраторПользователь №: 1 Сообщений: 2243
| Цитата | Если ты админ, то ты не видишь кода, а если не админ - то видишь. |
Набившее всем оскомину всплывающее окно)) | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|