URI 중 /kngil/skin 반복제거. php 확장자 노출 제거
This commit is contained in:
15
.htaccess
15
.htaccess
@@ -1,6 +1,15 @@
|
|||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
|
|
||||||
# Skip existing files and directories.
|
# 레거시 /kngil/skin/*.php -> /* (확장자 제거)
|
||||||
|
RewriteRule ^kngil/skin/([^/]+)\.php$ /$1 [R=301,L]
|
||||||
|
|
||||||
|
# 레거시 /kngil/*.php -> /* (확장자 제거)
|
||||||
|
RewriteRule ^kngil/([^/]+)\.php$ /$1 [R=301,L]
|
||||||
|
|
||||||
|
# 레거시 /kngil 또는 /kngil/ -> /
|
||||||
|
RewriteRule ^kngil/?$ / [R=301,L]
|
||||||
|
|
||||||
|
# 기존 파일/디렉터리는 그대로 통과
|
||||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
||||||
RewriteCond %{REQUEST_FILENAME} -d
|
RewriteCond %{REQUEST_FILENAME} -d
|
||||||
RewriteRule ^ - [L]
|
RewriteRule ^ - [L]
|
||||||
@@ -21,3 +30,7 @@ RewriteRule ^admin/api/product/delete/?$ /kngil/bbs/adm_product_popup_delete.php
|
|||||||
RewriteRule ^admin/api/faq/?$ /kngil/bbs/adm_faq_popup.php [QSA,L]
|
RewriteRule ^admin/api/faq/?$ /kngil/bbs/adm_faq_popup.php [QSA,L]
|
||||||
RewriteRule ^admin/api/faq/save/?$ /kngil/bbs/adm_faq_popup_save.php [QSA,L]
|
RewriteRule ^admin/api/faq/save/?$ /kngil/bbs/adm_faq_popup_save.php [QSA,L]
|
||||||
RewriteRule ^admin/api/faq/delete/?$ /kngil/bbs/adm_faq_popup_delete.php [QSA,L]
|
RewriteRule ^admin/api/faq/delete/?$ /kngil/bbs/adm_faq_popup_delete.php [QSA,L]
|
||||||
|
|
||||||
|
# 루트 페이지 라우팅: / -> index, /{page} -> /kngil/skin/{page}.php
|
||||||
|
RewriteRule ^$ /kngil/skin/index.php [L]
|
||||||
|
RewriteRule ^([^/]+)$ /kngil/skin/$1.php [L]
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ try {
|
|||||||
<body>
|
<body>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
const target = '/kngil/skin/index.php';
|
const target = '/';
|
||||||
if (window.opener && !window.opener.closed) {
|
if (window.opener && !window.opener.closed) {
|
||||||
try {
|
try {
|
||||||
window.opener.postMessage({ type: 'OIDC_LOGIN_SUCCESS' }, window.location.origin);
|
window.opener.postMessage({ type: 'OIDC_LOGIN_SUCCESS' }, window.location.origin);
|
||||||
@@ -295,7 +295,7 @@ try {
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<noscript>
|
<noscript>
|
||||||
<a href="/kngil/skin/index.php">메인으로 이동</a>
|
<a href="/">메인으로 이동</a>
|
||||||
</noscript>
|
</noscript>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -305,5 +305,5 @@ try {
|
|||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo "<h1>로그인 오류</h1>";
|
echo "<h1>로그인 오류</h1>";
|
||||||
echo "<p>" . htmlspecialchars($e->getMessage()) . "</p>";
|
echo "<p>" . htmlspecialchars($e->getMessage()) . "</p>";
|
||||||
echo "<a href='/kngil/index.php'>메인으로 돌아가기</a>";
|
echo "<a href='/'>메인으로 돌아가기</a>";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
session_start();
|
session_start();
|
||||||
session_destroy();
|
session_destroy();
|
||||||
|
|
||||||
header('Location: /kngil/skin/index.php');
|
header('Location: /');
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ if (session_status() === PHP_SESSION_NONE) {
|
|||||||
if (empty($_SESSION['login'])) {
|
if (empty($_SESSION['login'])) {
|
||||||
echo "<script>
|
echo "<script>
|
||||||
alert('로그인 후 이용 가능합니다.');
|
alert('로그인 후 이용 가능합니다.');
|
||||||
location.href = '/kngil/skin/qa_list.skin.php';
|
location.href = '/qa_list.skin';
|
||||||
</script>";
|
</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['action'] ?? '') === 'delet
|
|||||||
|
|
||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
|
|
||||||
header("Location: /kngil/skin/qa_list.skin.php");
|
header("Location: /qa_list.skin");
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Q&A 리스트 컨트롤러
|
* Q&A 리스트 컨트롤러
|
||||||
* - 스킨: /kngil/skin/qa_list.skin.php
|
* - 스킨: /kngil/skin/qa_list.skin.php (URL: /qa_list.skin)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ini_set('display_errors', 1);
|
ini_set('display_errors', 1);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ if (session_status() === PHP_SESSION_NONE) {
|
|||||||
if (empty($_SESSION['login'])) {
|
if (empty($_SESSION['login'])) {
|
||||||
echo "<script>
|
echo "<script>
|
||||||
alert('로그인이 필요합니다.');
|
alert('로그인이 필요합니다.');
|
||||||
location.href = '/kngil/skin/qa_list.skin.php';
|
location.href = '/qa_list.skin';
|
||||||
</script>";
|
</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,11 +13,11 @@
|
|||||||
VISITED_STORAGE_KEY: 'visited',
|
VISITED_STORAGE_KEY: 'visited',
|
||||||
VIDEO_BASE_PATH: '../img/video',
|
VIDEO_BASE_PATH: '../img/video',
|
||||||
PAGE_LINKS: {
|
PAGE_LINKS: {
|
||||||
1: '/kngil/skin/value.php',
|
1: '/value',
|
||||||
2: '/kngil/skin/provided.php',
|
2: '/provided',
|
||||||
3: '/kngil/skin/primary.php',
|
3: '/primary',
|
||||||
4: '/kngil/skin/analysis.php',
|
4: '/analysis',
|
||||||
5: '/kngil/skin/results.php'
|
5: '/results'
|
||||||
},
|
},
|
||||||
SELECTORS: {
|
SELECTORS: {
|
||||||
video: '#video_play',
|
video: '#video_play',
|
||||||
|
|||||||
@@ -18,19 +18,19 @@
|
|||||||
<div class="comp-contact">
|
<div class="comp-contact">
|
||||||
<ul class="footer-menu">
|
<ul class="footer-menu">
|
||||||
<li>
|
<li>
|
||||||
<a href="value.php">KNGIL</a>
|
<a href="/value">KNGIL</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="provided.php">제공데이터</a>
|
<a href="/provided">제공데이터</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="primary.php">주요기능</a>
|
<a href="/primary">주요기능</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="analysis.php">데이터분석</a>
|
<a href="/analysis">데이터분석</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="results.php">성과품</a>
|
<a href="/results">성과품</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-family">
|
<div class="footer-family">
|
||||||
@@ -54,4 +54,4 @@
|
|||||||
|
|
||||||
<!-- // 모든 팝업페이지 경로 -->
|
<!-- // 모든 팝업페이지 경로 -->
|
||||||
|
|
||||||
<script src="/kngil/js/common.js"></script>
|
<script src="/kngil/js/common.js"></script>
|
||||||
|
|||||||
@@ -229,14 +229,14 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
|
|||||||
<div class="floating-menu">
|
<div class="floating-menu">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="floating-faq">
|
<li class="floating-faq">
|
||||||
<a href="/kngil/skin/qa_list.skin.php">
|
<a href="/qa_list.skin">
|
||||||
<i class="ico-faq"></i>
|
<i class="ico-faq"></i>
|
||||||
<span>Q&A</span>
|
<span>Q&A</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="floating-buy">
|
<li class="floating-buy">
|
||||||
<a href="/kngil/skin/buy.php">
|
<a href="/buy">
|
||||||
<i class="ico-buy"></i>
|
<i class="ico-buy"></i>
|
||||||
<span>구매하기</span>
|
<span>구매하기</span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<ul class="sitemap">
|
<ul class="sitemap">
|
||||||
<li class="value">
|
<li class="value">
|
||||||
<a href="/kngil/skin/value.php">
|
<a href="/value">
|
||||||
<span>KNGIL</span>
|
<span>KNGIL</span>
|
||||||
<p>
|
<p>
|
||||||
공공데이터 기반으로<br>
|
공공데이터 기반으로<br>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
<div class="bg-line down"></div>
|
<div class="bg-line down"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="provided">
|
<li class="provided">
|
||||||
<a href="/kngil/skin/provided.php">
|
<a href="/provided">
|
||||||
<span>제공데이터</span>
|
<span>제공데이터</span>
|
||||||
<p>
|
<p>
|
||||||
항목별 공공데이터를 기반으로<br>
|
항목별 공공데이터를 기반으로<br>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<div class="bg-line up"></div>
|
<div class="bg-line up"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="primary">
|
<li class="primary">
|
||||||
<a href="/kngil/skin/primary.php">
|
<a href="/primary">
|
||||||
<span>주요기능</span>
|
<span>주요기능</span>
|
||||||
<p>
|
<p>
|
||||||
기초현황 보고서 설정 등에 대한 <br>
|
기초현황 보고서 설정 등에 대한 <br>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
<div class="bg-line down"></div>
|
<div class="bg-line down"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="analysis">
|
<li class="analysis">
|
||||||
<a href="/kngil/skin/analysis.php">
|
<a href="/analysis">
|
||||||
<span>데이터분석</span>
|
<span>데이터분석</span>
|
||||||
<p>
|
<p>
|
||||||
데이터의 특성과 형태에 따라 <br>
|
데이터의 특성과 형태에 따라 <br>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
<div class="bg-line up"></div>
|
<div class="bg-line up"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="results">
|
<li class="results">
|
||||||
<a href="/kngil/skin/results.php">
|
<a href="/results">
|
||||||
<span>성과품</span>
|
<span>성과품</span>
|
||||||
<p>
|
<p>
|
||||||
데이터 분석 결과를 기반으로<br>
|
데이터 분석 결과를 기반으로<br>
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-wrap">
|
<div class="btn-wrap">
|
||||||
<a href="/kngil/skin/faq_list.skin.php" class="btn-contact">
|
<a href="/faq_list.skin" class="btn-contact">
|
||||||
<i class="ico-contact"></i>
|
<i class="ico-contact"></i>
|
||||||
KNGIL 구매문의
|
KNGIL 구매문의
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
<ul class="sub-tab">
|
<ul class="sub-tab">
|
||||||
<li class="on">
|
<li class="on">
|
||||||
<a href="/kngil/skin/faq_list.skin.php">자주하는 질문(FAQ)</a>
|
<a href="/faq_list.skin">자주하는 질문(FAQ)</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a>
|
<a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
if (!$isLogin) {
|
if (!$isLogin) {
|
||||||
echo "<script>
|
echo "<script>
|
||||||
alert('로그인 후 문의 등록이 가능합니다.');
|
alert('로그인 후 문의 등록이 가능합니다.');
|
||||||
location.href = '/kngil/skin/qa_list.skin.php';
|
location.href = '/qa_list.skin';
|
||||||
</script>";
|
</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="sub-tab">
|
<ul class="sub-tab">
|
||||||
<li><a href="/kngil/skin/faq_list.skin.php">자주하는 질문(FAQ)</a></li>
|
<li><a href="/faq_list.skin">자주하는 질문(FAQ)</a></li>
|
||||||
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
||||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="sub-tab">
|
<ul class="sub-tab">
|
||||||
<li><a href="/kngil/skin/faq_list.skin.php">자주하는 질문(FAQ)</a></li>
|
<li><a href="/faq_list.skin">자주하는 질문(FAQ)</a></li>
|
||||||
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
||||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
<div class="btn-wrap right">
|
<div class="btn-wrap right">
|
||||||
<button type="button" class="btn-primary" onclick="location.href='/kngil/skin/qa_write.skin.php'">
|
<button type="button" class="btn-primary" onclick="location.href='/qa_write.skin'">
|
||||||
<i class="fa fa-pencil" aria-hidden="true"></i> 문의등록
|
<i class="fa fa-pencil" aria-hidden="true"></i> 문의등록
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<span>EG-BIM 관련 문의하기</span>
|
<span>EG-BIM 관련 문의하기</span>
|
||||||
</div>
|
</div>
|
||||||
<ul class="sub_tab">
|
<ul class="sub_tab">
|
||||||
<li><a href="/kngil/skin/faq_list.skin.php">자주하는 질문(FAQ)</a></li>
|
<li><a href="/faq_list.skin">자주하는 질문(FAQ)</a></li>
|
||||||
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
||||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button type="button" class="btn btn-write" onclick="location.href='/kngil/skin/qa_write.skin.php'">
|
<button type="button" class="btn btn-write" onclick="location.href='/qa_write.skin'">
|
||||||
<i class="fa fa-pencil" aria-hidden="true"></i> 문의등록
|
<i class="fa fa-pencil" aria-hidden="true"></i> 문의등록
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
if (!$isLogin) {
|
if (!$isLogin) {
|
||||||
echo "<script>
|
echo "<script>
|
||||||
alert('로그인 후 문의 등록이 가능합니다.');
|
alert('로그인 후 문의 등록이 가능합니다.');
|
||||||
location.href = '/kngil/skin/qa_list.skin.php';
|
location.href = '/qa_list.skin';
|
||||||
</script>";
|
</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
<p class="sub-txt">KNGIL 관련 문의하기</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="sub-tab">
|
<ul class="sub-tab">
|
||||||
<li><a href="/kngil/skin/faq_list.skin.php">자주하는 질문(FAQ)</a></li>
|
<li><a href="/faq_list.skin">자주하는 질문(FAQ)</a></li>
|
||||||
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
<li class="on"><a href="/kngil/bbs/qa_list.php">문의하기(Q&A)</a></li>
|
||||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user