Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

16.09.2007, 19:49
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Хм... ХЗ... Вроде и правда работает как is_set... Хотя судя по http://ru.php.net/manual/ru/function.empty.php оно автоматом заменяет выражение на NULL, а уже empty от NULL работает корректно... В общем ладно, тут я тогда настаивать не буду, оформим это как замечание по технике программирования... 
|
|
|

16.09.2007, 19:50
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
empty возвращает false, если переменная существует и имеет не пустое или не нулевое значение; true в обратном случае.
Т.е. если переменной нет или она есть и её значение пустое или нулевое. ->true
Отсюда вывод: однозначно существование переменной она не проверяет!
PS groundhog прав - проверяет на НЕПУСОТУ!
Т.е. если переменная не существует или её значение пустое или 0, то результат одинаков.
Последний раз редактировалось -=lebed=-; 16.09.2007 в 19:57..
|
|
|

17.09.2007, 16:57
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
По поводу баги №6
Код:
Защита: Использование слеширования опасных символов функцией addslashes().
А если в строку прописать stripslashes($_GET[php])&php=(тот_что_ты_показывал) 
|
|
|

18.09.2007, 20:30
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Самое простое это функция basename(). Она извлекает из пути файла его имя. Плюс, не побоюсь этого слова, обрезание расширения, либо удаление точки.
можно ещё и так:
PHP код:
<?
if(is_file("modules/".$_GET['module'])) include("modules/".$_GET['module'];
?>
|
|
|

18.09.2007, 21:07
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
Ага, а если я в кач-ве $module передам
../../../../../etc/passwd ?
или ты хочешь сказать, что при проверке is_file файла passwd функция возвратит false?
|
|
|

18.09.2007, 21:19
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
n1†R0x, ИМХО апач тебя пошлёт, он кажись не обрабатывает такие пути ну в смысле ты указываешь папку а потом из неё возвращаешся, нипаймёт он тебя modules/../../../../../etc/passwd
|
|
|

18.09.2007, 22:01
|
Регистрация: 18.02.2006
Сообщений: 1,090
Провел на форуме: 6489333
Репутация:
1564
|
|
I-I()/Ib и groundhog
Красавцы, оба шарите, молодцы. Как говорится в споре рождается истина... обоим по +5 поставил
|
|
|

18.09.2007, 22:03
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
Сообщение от Ponchik
n1†R0x, ИМХО апач тебя пошлёт, он кажись не обрабатывает такие пути ну в смысле ты указываешь папку а потом из неё возвращаешся, нипаймёт он тебя modules/../../../../../etc/passwd
Вообще, как мне кажется, данную функцию будет обрабатывать PHP, а не апач. И мне не кажется в любом случае, что меня пошлют) разве что прав не хватит, но это уже другой разговор...
Если бы апач (точнее, пхп) посылал, не было бы php-инклудов. А относительные пути с движением вверх поддерживаются еще со времен ms-dos 
|
|
|

19.09.2007, 10:12
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
n1†R0x, ты прав, при такой реализации:
<?
if(is_file("modules/".$_GET['module'])) include("modules/".$_GET['module'];
?>
Можно проинклудить незапланированное файло, ну, конечно, если не накладывается никаких дополнительных ограничений.
|
|
|

19.09.2007, 11:56
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
Да? Х_Х Ну а как от этого защититься-то?!
if(is_file("./modules/".$_GET['module'])) include("./modules/".$_GET['module'];
Так чтоли?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|