- 1
- 2
- 3
- 4
foreach (array('peer_id','port','downloaded','uploaded','left') as $x){
if (!isset($x))
err('', "Нет переменной - ".$x, 1);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+161
foreach (array('peer_id','port','downloaded','uploaded','left') as $x){
if (!isset($x))
err('', "Нет переменной - ".$x, 1);
}
Озадачился. Куда может пропасть $x?
1024-- 18.09.2013 00:28 # +9
RiseOfDeath 18.09.2013 10:13 # +2
myaut 18.09.2013 15:26 # 0
bormand 18.09.2013 15:27 # +1
Stallman 18.09.2013 17:15 # 0
Опять какой-то говноторрент-монитор?
bormand 18.09.2013 17:34 # +4
В строке 3 как раз все нормально. Там же имя переменной показывают, а не ее значение. А в $x лежит одна из имен переменных, которые перечислены в array на первой строке.
На правах кэпа:
Косяк в том, что в строке 2 бакса не хватает, и isset проверяет не наличие переменных $peer_id, $port и т.п., а наличие самой переменной $x, которая всегда существует.
anonimb84a2f6fd141 18.09.2013 19:41 # 0
bormand 18.09.2013 19:51 # 0
anonimb84a2f6fd141 19.09.2013 03:22 # 0
Асло, не знаток php. Есть там разница между отсутствием переменной и ее равенству null?
bormand 19.09.2013 05:19 # +1
Да хрен его знает... Пути пыхера неисповедимы...
> Есть там разница между отсутствием переменной и ее равенству null?
При обычном обращении, емнип только в ворнинге (если нету - высрет ворнинг и запилит со значением null). А для isSet разницы нет, вернет false и там и там.
Vindicar 19.09.2013 09:28 # 0
bormand 19.09.2013 11:53 # +2
А вот за это точно надо убивать ;)
anonimb84a2f6fd141 19.09.2013 18:05 # 0
bormand 19.09.2013 18:16 # 0
Но все равно сраное говнище: в сочетании с пыхерскими манерами не читать ворнинги и забивать на неинициализированные переменные вполне можно сотворить уязвимость.
AlexP 19.09.2013 18:49 # +1
Два подключения к БД в одном файле, куча ошибок в логах, насильственное включение register_globals и установка set_time_limit(0). А еще подавление всех ошибок при помощи @. А еще такой проверкой <? if(ini_get('short_open_tag') == 'no') die('text'); ?>
Bart 19.09.2013 20:15 # 0
Зачем жить, если шорт-тегов нет? Уйти в небытие, оставив записку с единственным словом: "text"...
bormand 19.09.2013 20:51 # +4
Фиг там... вывалить весь исходник в браузер :) Шорт теги же не пашут.
anonimb84a2f6fd141 20.09.2013 20:19 # 0
bormand 20.09.2013 20:51 # 0
anonimb84a2f6fd141 21.09.2013 08:36 # 0