상대경로를 절대경로로 바꾸기 > 그누보드5 팁자료실

그누보드5 팁자료실

상대경로를 절대경로로 바꾸기 정보

상대경로를 절대경로로 바꾸기

본문


function rel2abs($relPath) {
	$curPath = $_SERVER['PHP_SELF'];
	$tmp = preg_replace("/\\/[^\\/]*$/", "/", $curPath) . $relPath;
	$tmp = preg_replace("/\\/\\.\\//", "/", $tmp);
	$c = preg_match_all("/\\.\\./", $tmp, $matches);
	for ( $i = 0; $i < $c; ++$i )
		 $tmp = preg_replace("/\\/[^\\/]+\\/\\.\\.\\//", "/", $tmp, 1);
	return $tmp;
}

echo G5_URL.rel2abs("../theme/basic/head.php");

외부 페이지로 퍼가기 할 때 절대경로가 필요하더군요
고 때 사용하심 됩니다.
추천
2

댓글 4개

팁과는 직접적인 관련은 없지만. PHP_SELF는 공격자에 의해 변조가 가능합니다.
변조를 통해 XSS 취약점 공격도 가능하기 때문에 SCRIPT_NAME 을 사용하시는 것이 좋습니다.
@불친절한태엽씨 님, 좋은 팁 감사합니다.

근데, 궁근한 게요,,,

위 본문처럼 함수를 정의하고 출력 코드 부분을
echo G5_URL.rel2abs("../theme/basic/head.php");  이렇게 적는 경우와

그냥 단순히 위 본문의 함수 사용 않고,
echo G5_URL."/theme/basic/head.php");  이렇게만 적는 경우가 차이가 있는 건가요?
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT