Безопасность конструкции function_exists()
Код:
if (!empty($_REQUEST['do']))
{
if (function_exists($_REQUEST['do']))
{
$func_name=$_REQUEST['do'];
$func_name();
}
else
echo "function ".$_REQUEST['do'];
}
{
if (function_exists($_REQUEST['do']))
{
$func_name=$_REQUEST['do'];
$func_name();
}
else
echo "function ".$_REQUEST['do'];
}
Посидел, подумал - вроде ничего опасного ей передать нельзя... Как кто думает?
Еще как опасна. Убери лучше.
Цитата: Nixus
Еще как опасна. Убери лучше.
А например? Мне тогда интересно, как это можно использовать.... разве что ....&do=phpinfo
лучше всетаки ограничь свободу пользователя, я не думаю что нормальному человеку понадобится вызывать все подряд...
Цитата: netwom
А например? Мне тогда интересно, как это можно использовать.... разве что ....&do=phpinfo
Возможно стандартными функциями php урона мало можно нанести, т.к. любая функция вызывается без аргументов, но ты или кто-то другой, работающий над проектом, может написать функцию без параметров, которая делает какую-то критическую операцию.. и вуаля. Так что не стоит делать такие вещи.
Цитата: Nixus
Возможно стандартными функциями php урона мало можно нанести, т.к. любая функция вызывается без аргументов, но ты или кто-то другой, работающий над проектом, может написать функцию без параметров, которая делает какую-то критическую операцию.. и вуаля. Так что не стоит делать такие вещи.
Думаю что одной mysql_close без параметров вполне достаточно для большинства случаев :)
2Rebbit mysql_close ты только себе навредишь)) Я не могу себе представить ситуацию, в которой она будет вредна)) Ну вызовешь ты её, ну не получишь контента :)))))) Хотя вызов метода из параметра это минимум плохая практика.
Цитата: shaelf
2Rebbit mysql_close ты только себе навредишь)) Я не могу себе представить ситуацию, в которой она будет вредна)) Ну вызовешь ты её, ну не получишь контента :)))))) Хотя вызов метода из параметра это минимум плохая практика.
Может я параноик, но ИМХО целесность данных нарушить ето проблема. Хотя ты прав - для грамотного скрипта потеря конекта не страшна.