그래서 내용 관리 파일에서 수정하는 방법이 있다
/skin/content/basic/content.skin.php 열어서
<div id="ctt_con">
<?php echo $str; ?>
</div>
위 내용을 아래처럼 수정하면된다.
위 내용을 아래처럼 수정하면된다.
<div id="ctt_con">
<?php //echo $str; ?>
<?php @include_once($co['co_content']); ?>
</div>
하지만 문제가 있다 보안상 사실 코드에 승인한 파일명만 처리 하도록 하면 더 좋지만 불편하다 그래서 아래처럼 수정 하였다.
위 코드는 테마 폴더 아래 contents 폴더에 있는 경로만 실행 할수 있도록 하였다. 이제 내용관리에 파일 경로만 넣고 사용하면 된다.
하지만 문제가 있다 보안상 사실 코드에 승인한 파일명만 처리 하도록 하면 더 좋지만 불편하다 그래서 아래처럼 수정 하였다.
<div id="ctt_con">
<?php
// 'co_content' 키가 존재하고 빈 문자열이 아닌지 확인
if (isset($co['co_content']) && is_string($co['co_content']) && trim($co['co_content']) !== '') {
// 'co_content' 값의 유효성을 검사하고 디렉토리 트래버설을 방지하기 위해 basename() 사용
$coContent = basename($co['co_content']);
$coContent = str_replace(array('/', '\\'), '', $coContent);
// 'co_content' 값으로 사용되는 파일의 디렉토리 경로를 정의
$contentDirectory = G5_THEME_PATH . '/contents/';
// 'co_content' 값으로 사용되는 파일의 전체 경로를 정의
$contentFilePath = $contentDirectory . $coContent;
// 파일이 존재하는지 확인하고 포함하여 실행
if (file_exists($contentFilePath)) {
// 보안상 이유로 include_once 대신 include를 사용하는 것이 좋습니다.
include $contentFilePath;
} else {
// 파일이 존재하지 않을 경우 메시지 출력
echo '컨텐츠를 찾을 수 없습니다.';
}
} else {
// 'co_content' 키가 존재하지 않거나 비어있는 경우 메시지 출력
echo '컨텐츠를 사용할 수 없습니다.';
}
?>
</div>
위 코드는 테마 폴더 아래 contents 폴더에 있는 경로만 실행 할수 있도록 하였다. 이제 내용관리에 파일 경로만 넣고 사용하면 된다.
예 ) ../theme/basic/page/page.php
작성할때 주의 사항 html 모드에서 작성하자 필요 없는 테그가 가는걸 방지 하고자 한다.
잘 작동한다.
오류가 나오면 그건 불러오는 php 파일을 수정하자 그것도 싫다면 아래 처럼 @ 처리 하면 된다.
작성할때 주의 사항 html 모드에서 작성하자 필요 없는 테그가 가는걸 방지 하고자 한다.
잘 작동한다.
오류가 나오면 그건 불러오는 php 파일을 수정하자 그것도 싫다면 아래 처럼 @ 처리 하면 된다.
<div id="ctt_con">
<?php
// 'co_content' 키가 존재하고 빈 문자열이 아닌지 확인
if (isset($co['co_content']) && is_string($co['co_content']) && trim($co['co_content']) !== '') {
// 'co_content' 값의 유효성을 검사하고 디렉토리 트래버설을 방지하기 위해 basename() 사용
$coContent = basename($co['co_content']);
$coContent = str_replace(array('/', '\\'), '', $coContent);
// 'co_content' 값으로 사용되는 파일의 디렉토리 경로를 정의
$contentDirectory = G5_THEME_PATH . '/contents/';
// 'co_content' 값으로 사용되는 파일의 전체 경로를 정의
$contentFilePath = $contentDirectory . $coContent;
// 파일이 존재하는지 확인하고 포함하여 실행
@include $contentFilePath; // 오류를 무시하고 파일을 포함합니다.
} else {
// 'co_content' 키가 존재하지 않거나 비어있는 경우 메시지 출력
echo '컨텐츠를 사용할 수 없습니다.';
}
?>
</div>
이상