[질문] php의 eval() 함수에 대해..
글쓴이: artoss99 / 작성시간: 월, 2007/12/03 - 7:49오전
안녕하세요.
eval($_GET['aaa']);
test.php?aaa=php코드문자열
이렇게 브라우저에서 실행하니 eval() 함수에서 parse error가 나오네요.
아무리 봐도 문제될게 없는것 같은데 이상해서
eval("php코드문자열");
이렇게 브라우저에서 실행하면 정상동작 합니다.
aaa에 입력한 값은 위의 php코드문자열이랑 동일한 코드 문자열인데 왜 에러가 나올까요?
아파치에서 GET 방식으로 넘어온 파라미터를 php에 넘길때 뭔가가 추가/제거 되나요?
아파치 access.log를 보면 브라우저에서 입력한 "php코드문자열"이 그대로 넘어가는거 같은데..잘 모르겠습니다.
참고로 RWAPM 최신 버전이 설치된 상태이구요.
설치후 설정을 바꾼건 없습니다.
그럼 답변 부탁드립니다.
Forums:
aaa 파라메터로
aaa 파라메터로 넘어온 코드문자열이 urlencode 되어서 에러가 날 것 같습니다.
urldecode 해보시고 실행을 해보면 될 것 같습니다.
질문을 조금 자세히 적어주시면 좋을 것 같은데요.
서버에 출력하는 에러 메시지와, PHP코드문자열이란게 정말 "PHP코드문자열"이란 문자열을 말씀하시는 것인지요?
/**
* We need Divide and Conquer 美德
* @return Nothing
*/
白頭山石磨刀盡,豆滿江水飮馬無,男兒二十未平國,後世誰稱大丈夫
magic_quotes_gpc가 켜진
magic_quotes_gpc가 켜진 경우이고 따옴표 등이 포함되어 있다면 안 될 수도 있겠네요.
eval(stripslashes($_GET['aaa']));로 해보세요.
그리고 저런 식으로 바로 실행하는 건 엄청나게 위험하다는 것을 기억하세요 ;)
댓글 달기