37 lines
872 B
PHP
37 lines
872 B
PHP
<?php
|
|
// /www/kngil/index.php
|
|
|
|
declare(strict_types=1);
|
|
|
|
// ---------------------------------
|
|
// 1. 기본 상수
|
|
// ---------------------------------
|
|
define('ROOT', __DIR__);
|
|
define('SKIN_PATH', ROOT.'/kngil/skin');
|
|
|
|
// ---------------------------------
|
|
// 2. 페이지 결정
|
|
// ---------------------------------
|
|
$page = $_GET['page'] ?? 'index';
|
|
|
|
// 파일명 보안 필터
|
|
$page = preg_replace('/[^a-zA-Z0-9_\-]/', '', $page);
|
|
|
|
// ---------------------------------
|
|
// 3. skin 파일 매핑
|
|
// ---------------------------------
|
|
$viewFile = SKIN_PATH.'/'.$page.'.php';
|
|
|
|
// ---------------------------------
|
|
// 4. 존재 여부 체크
|
|
// ---------------------------------
|
|
if (!is_file($viewFile)) {
|
|
http_response_code(404);
|
|
exit('404 NOT FOUND');
|
|
}
|
|
|
|
// ---------------------------------
|
|
// 5. 화면 위임
|
|
// ---------------------------------
|
|
require $viewFile;
|