Forum Webscript.Ru
Программирование => PHP => Тема начата: Berkut от 30 Мая 2004, 17:35:49
-
RomikChef за что тему зарубил??? С eval я уже разобрался, но чем он так плох?
Использую я его в таком котексте:
Снначала проверяется, если вошёл админ то:
$admin_links=\'echo "IP: {$row[\\\'ip\\\']} Редакактировать ";\';
//$row[\'ip\'], $row[\'id\'] - вынимаются в последующем из базы
//если вошёл обычный пользователь, то:
$admin_links=\'\';
//Потом выдёргиваю сообщения из бд, допустим так:
while($row=mysql_fetch_assoc($res)) {
echo $row[\'massege\'].\'
\';
eval($admin_links);
}
Т.е. если вошёл админ, выводятся дополнительные линки для редактирования.
-
начинающие eval()-ом легко могут сделать дырку на сайте. Поэтому обходись пока без него.
Твое объяснение я понял плохо, но :Berkut:
Т.е. если вошёл админ, выводятся дополнительные линки для редактирования.
это реализуется простым if-ом
-
Но в моём случае eval никак не может повлиять на безопасность.
это реализуется простым if-ом
Дык мне казалось, что как-то не очень хорошо в цикле использовать if
while($row=mysql_fetch_assoc($res)) {
echo $row[\'massege\'].\'
\';
if ( АДМИН )
echo \'IP: \'.$row[\'ip\'];
}
Как-то не логично каждую итерацию проверять, выводить-ли линки или нет.
-
Berkut:
Дык мне казалось, что как-то не очень хорошо в цикле использовать if
а eval в цикле использовать ХОРОШО???
а каждую итерацию запускать еще один интерпретатор - это ЛОГИЧНО???
то есть, вместо ОДНОЙ инсрукции проццессора - сравнение и условный переход, мы должны ПОЛНОСТЬЮ выполнить все операции над кодом: побуквенно парсить строку, переводить ее в байт-код, исполнять его?
куда катится этот мир...
ЧТО в головах этих людей?