게시판에서 php 실행가능할까요? 정보
게시판에서 php 실행가능할까요?
본문
게시판에 글쓰기 시에..
php코드 를 써서.. php를 실행시키려고하는데요.. 어떻게 해야할지요..
<?=number_format(remain("2006-10-20"))?>
이런 식으로.. 날짜부분을 변수를 넣는거거든요..
변환코드가 있길래..
나름대로 php.net인가 거기서 보고..
<?
//내용변환
$view[content] = preg_replace("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/","number_format(remain(\\1\\2-\\3-\\4))", $view[content]);
?>
이런식으로 했더니..
php가 실행이 안되고.. 그냥 텍스트로..
number_format(remain("2006-10-20"))
이렇게 나오거나..
또는..
<?=number_format(remain("2006-10-20"))?>
이런식으로 php 코드로 변환 되었으나..
게시판에 표출되지 않고 빈칸으로 나오고
소스 보기 하면 코드가 보이네요.
remain("2006-10-20")
부분 관련 소스는 extend 폴더에 저장되어 있어서 항상 인클루드 되게 해놨구요.
어찌하면 저 부분을 게시판에서 실행될까요?
한수 가르쳐 주세요~ ㅠㅁㅠ
댓글 전체
$view[content] = preg_replace("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/","number_format(remain(\\1\\2-\\3-\\4))", $view[content]);
에서 number_format 의 double quotation marks 를 없애고 해보세요.
그런데 remain은 모죠???
remain 이란 함수가 php에 있었나?? 아님
직접 만드신 함수인가요??
에서 number_format 의 double quotation marks 를 없애고 해보세요.
그런데 remain은 모죠???
remain 이란 함수가 php에 있었나?? 아님
직접 만드신 함수인가요??

php스쿨에서 퍼온 dday 알기로 만든 함수예용..
오호호~~~~~
날짜넣으면 그날로부터 오늘까지 몇일인지 나오게...
오호호~~~~~
날짜넣으면 그날로부터 오늘까지 몇일인지 나오게...

게시판글쓰기에서 php 코드실행시키기는 위험하지 않을까요?
누군가가 관리자정보 알아오기 소스를 넣고 글을 쓴다면 무방비상태가 될텐데요 ....^^
누군가가 관리자정보 알아오기 소스를 넣고 글을 쓴다면 무방비상태가 될텐데요 ....^^

모든 php 소스를 쓸 필요없구요.
리치스킨에 {이미지:0} 하면 view_image(...) 라는 php코드가 실행되는거처럼..
치환소스로 php 일부함수, 즉, remain 만 실행시키려구요.
글쓰기도 관리자만 할 수 있게 지정해놓는 게시판이라서 위험함 php코드를 실행시키는 그런 위험은 없지 않을까요?
그래두 위험할라나요? ㅠㅁㅠ
리치스킨에 {이미지:0} 하면 view_image(...) 라는 php코드가 실행되는거처럼..
치환소스로 php 일부함수, 즉, remain 만 실행시키려구요.
글쓰기도 관리자만 할 수 있게 지정해놓는 게시판이라서 위험함 php코드를 실행시키는 그런 위험은 없지 않을까요?
그래두 위험할라나요? ㅠㅁㅠ
기본적으로
게시판이나 그런곳에서 파일 실행을 허용하게 되면 위험이 많이 따를 수밖에 없습니다.
개인적인 생각은
remain가 함수인지 아님 php 쉘 스크립트인지는 모르겠지만.
함수로 해서 사용시 불러오는 식으로 하는게 나을꺼 같네요
아님 사용에 제약을 좀 단단히 하시던가요. -_-
게시판이나 그런곳에서 파일 실행을 허용하게 되면 위험이 많이 따를 수밖에 없습니다.
개인적인 생각은
remain가 함수인지 아님 php 쉘 스크립트인지는 모르겠지만.
함수로 해서 사용시 불러오는 식으로 하는게 나을꺼 같네요
아님 사용에 제약을 좀 단단히 하시던가요. -_-

<?
function remain($d) {
$day = strtotime($d);
return intval((time() - $day)/86400);
}
?>
라는 3줄짜리 소스구요..
리치스킨에 {이미지:0} 하면 view_image(...) 라는 코드가 실행되는거처럼 간단할 줄 알았는데.. 아닌가봐요.. ㅠㅁㅠ
function remain($d) {
$day = strtotime($d);
return intval((time() - $day)/86400);
}
?>
라는 3줄짜리 소스구요..
리치스킨에 {이미지:0} 하면 view_image(...) 라는 코드가 실행되는거처럼 간단할 줄 알았는데.. 아닌가봐요.. ㅠㅁㅠ

꼭 하셔야만 한다면 여기를 참고하시면 해결 실마리를 찾으실수 있을것 같습니다..^^
http://kr.php.net/manual/kr/function.preg-replace.php
http://kr.php.net/manual/kr/function.preg-replace.php

헉.. 그거보고 짜맞춘 소스인데..
뭔가 제대로 못해서 어딘가 잘못되었나봐요.
저기 예제 소스중 "예 3. 여러 값을 치환하기"을 참고해서 만든건데.. 아흑!
다시 읽어보고 땅파보겠습니다. 감사합니다.
뭔가 제대로 못해서 어딘가 잘못되었나봐요.
저기 예제 소스중 "예 3. 여러 값을 치환하기"을 참고해서 만든건데.. 아흑!
다시 읽어보고 땅파보겠습니다. 감사합니다.
PHP코드를 따로 입력받아서 include 하는 방법으로 해보세요.
가장 확실한 방법은
extend의 참조가 아닌
해당 함수 파일의 소스를 가져다 직접 넣구
테스트를 해보세요
아니면 치환하는 부분의 정규화가 틀렸다거나
그런문제가 생길수도..
그리고 소스보기에선 보인다구 하니 해당 url을 알려주세요.
extend의 참조가 아닌
해당 함수 파일의 소스를 가져다 직접 넣구
테스트를 해보세요
아니면 치환하는 부분의 정규화가 틀렸다거나
그런문제가 생길수도..
그리고 소스보기에선 보인다구 하니 해당 url을 알려주세요.

<?php
$s = "PHP 출력 : <?php echo 'test'; ?>";
$p = fopen("tmp.inc", "w");
fwrite($p, $s);
fclose($p);
include("tmp.inc")
?>
참고하세요.
tmp.inc 의 퍼미션은 707입니다.
$s = "PHP 출력 : <?php echo 'test'; ?>";
$p = fopen("tmp.inc", "w");
fwrite($p, $s);
fclose($p);
include("tmp.inc")
?>
참고하세요.
tmp.inc 의 퍼미션은 707입니다.