2012-12-29 3 views
0

간단한 질문이 있습니다. 다른 올바른 PHP 문을 울리는 결과를 가져올 PHP 파일을 작성하면이 파일이 실행됩니까? 예를 들어 : Hello: 1 :php가 재귀 적으로 실행됩니까?

<html> 
<body> 
<?php echo "hello: "."<?php echo '1';?>"; ?> 
</body> 
</html> 

이 이제까지 출력을 생성 할 것인가?

만약 내가 이것을 아파치에서 실행한다면, "내부 에코"는 <!--?php echo '1';?-->으로 "위생적"으로 처리되어 그럴 수 있다고 믿습니다.

감사합니다.

+2

는 아니, 그것은 보안의 또 다른 수준입니다하지 않습니다. –

+1

내부의 ";>>는 다른 PHP 블록 안에 포함되어 있으므로 문자열로 취급되므로'Hello : 1'을주지 않아야합니다. 성명서. Apache가' SaschaM78

+0

웹 서버가 PHP 파일을 간섭하고 있어야합니다. '' "'그냥 문자열이고 - 화면에 그대로 출력해야합니다. (보기에 소스를 보려면 꺽쇠 괄호가 들어 있기 때문에 브라우저). – halfer

답변

2

감사합니다. 신이 아닙니다. 문자열을 실행하기 위해 당신은 (하지는) eval()를 사용해야합니다

<html> 
<body> 
<?php echo "hello: ".eval("echo '1';"); ?> 
</body> 
</html> 
+3

eval? 악마처럼! – Geert

+0

@ GeertJaminon, 참으로. – Shoe

+0

@ 토마스, [그것은하지 않습니다] (http://3v4l.org/kd7qf). – Shoe