eval
-소스를 실행해 주는 함수
매개변수에 넣어준 소스를 실행하여결과를 보여주는 유용한 함수

eval ("실행할 소스");

<?
eval ("echo 1;");
?>
결과는 1

위 예제는 echo 1; 이라는 소스를 eval함수로 실행하는 것으로, 아래 소스와 같은 결과를 출력한다
<?
echo 1;
?>

결론적으로 보면
eval (""); 부분을 제거한 것과 같다



<?
eval ("echo 1; ?> 2 <?");
?>
앞의 예처럼 제거해보면

<?
echo 1; ?> 2 <?
?>


<?
echo 1; ?>
2
<?
?>
로 정리할 수 있다..

결과는 1 2





[예제]
php_test.php
<form method="post" action="php_test_ing.php">
<textarea name="source" cols="30" rows="5"> </textarea><br>
<input type=submit value="실행">
</form>


php_test_ing.php
<?
$source= "?>". $source."<?";
$source=stripslashes ($source);
eval ($source);
?>

php.test에다 다음소스를 입력한 후 실행을 클릭해보자 결과는?
<?
$t=date('Y-m-d');
echo "오늘은 $today";
?>

결과는
오늘은 2009-01-24


예전에 파일첨부를 제한하는 파일 중에 php를 제한 하였는데
이러한 이유때문이다



exit
-소스의 실행을 멈추도록 하는 명령어

<?
echo 1;
exit;
echo 2;
?>
결과는 1
-> exit때문에 종료되어서 2는 실행이 안된다.








+ Recent posts