PDA

Просмотр полной версии : Защищен ли вот такой код [eval]


oxod
02.04.2010, 22:25
<?php
$a=$_GET['a'];
eval('print ($a);');
?>

Фильтрации никакой нет.
Задача выполнить функцию или вывести значение переменной

ShAnKaR
02.04.2010, 23:44
защищен.
так нет
eval("print ($a);");
так да
eval("print (\$a);");
так нет
eval('print ('.$a.');');

oxod
03.04.2010, 00:38
Я именно свой пример хотел пообсуждать, с одинарными кавычками.
Другие мнения кроме "защищен" будут?

Про последнее - не может оно работать. Выполняется код без подстановки значения переменной в исполняемую строку, ничего не заэкранируешь.

oxod
05.04.2010, 22:37
В продолжении темы:
preg_replace("/(.*)/e","<p/>\\1",$a);

вот хоть тесни, ошибка синтаксиса на первом байте (<)

может кто проверял на разных версиях php?

Red_EYEs
08.04.2010, 20:58
XSS - есть полюбому

Red_EYEs
08.04.2010, 20:59
?a=<script>evil code</script> =)

oxod
09.04.2010, 12:45
надо выполнение кода ес-но ;)))