회원가입 | 고객센터 |
DESIGNONEX
dxcms.kr
로그인 회원가입
고객센터
2. 시작 가이드

설치 시 보안 경로 구조

D DX
2026.04.20 23:57(수정됨) 129 0

1. 보안 경로 구조

1.1 설치마다 고유한 Secure.php 경로

설치 시 도메인 + microtime + 난수를 SHA-256으로 해시한 앞 16자리를 core/security/ 하위 폴더 이름으로 사용합니다. 이 경로를 DX_SECURITY_PATH 상수로 data/config.php에 저장하고, index.php는 매 요청마다 이 경로에서 Secure.php를 로드합니다.
 
# 구조 예시
core/
├── Secure.php               ← 원본 (폴백용)
└── security/
    └── a3f8b2c1d4e5f6a7/    ← 설치 고유 해시 (16자리)
        ├── Secure.php       ← 복사본 (실제 로드 대상)
        └── .htaccess        ← 직접 접근 차단


1.2 보안 경로의 목적

목적 설명
경로 예측 불가 공격자가 /core/Secure.php를 직접 공략해도 실제 동작 파일은 다른 경로에 존재
설치마다 고유 소스코드가 공개되어도 특정 설치 환경의 경로를 알 수 없음
보안 패치 용이 원본 core/Secure.php를 수정 후 관리자에서 경로 재생성 가능
폴백 안전망 security/ 경로 파일 없으면 core/Secure.php 폴백으로 서비스 중단 없음


1.3 data/config.php 생성 내용

설치 완료 후 data/config.php에 자동으로 생성되는 주요 내용입니다.
<?php
// DB 연결
$db = Database::getInstance();
$db->connect('localhost', 'db_name', 'user', 'pass', 'utf8mb4', 'dx_');

// 전역 설정 로드 (DxCache → DB 순 우선순위)
global $dx_config;
$dx_config = array();
// 1순위: 캐시에서 로드, 2순위: DB에서 로드 후 캐시 저장(300초)

define('DX_DEBUG', false);
define('DX_CHARSET', 'UTF-8');
date_default_timezone_set('Asia/Seoul');
define('DX_SECRET_KEY',   '64자리_랜덤_시크릿_키');
define('DX_SECURITY_PATH', 'a3f8b2c1d4e5f6a7');


2. 설치 후 체크리스트

2.1 보안 체크리스트

항목 확인 방법 조치
install/ 폴더 처리 /install/ 접속 시 403 또는 빈 페이지 폴더 삭제 또는 .htaccess로 차단
data/ 직접 접근 차단 /data/config.php 접속 시 403 .htaccess 및 web.config 확인
core/ 직접 접근 차단 /core/Secure.php 접속 시 403 .htaccess 확인
PHP 직접 실행 차단 /admin/index.php 직접 접속 시 403 또는 빈 페이지 .htaccess FilesMatch 확인
관리자 비밀번호 변경 기본 admin/admin 등 사용 여부 관리자 > 회원 관리에서 변경
DX_DEBUG 비활성화 config.php의 define('DX_DEBUG', false) 운영 환경에서 반드시 false
HTTPS 적용 https:// 접속 확인 SSL 인증서 설치 후 사이트 URL을 https://로 변경


2.2 동작 확인 체크리스트

확인 항목 테스트 방법
홈페이지 정상 표시 브라우저에서 / 접속
관리자 로그인 /admin 접속 후 설치 시 입력한 계정으로 로그인
게시판 생성 및 글쓰기 관리자 > 게시판 관리에서 게시판 생성 후 글 작성
파일 업로드 글쓰기에서 파일 첨부 후 저장
회원가입 /auth/register 접속 후 가입 시도
URL Rewrite 동작 /admin 형태의 깔끔한 URL로 접속 가능한지 확인
캐시 동작 관리자 > 설정에서 캐시 드라이버 확인 (FILE/APCU/REDIS)
사이트맵 /sitemap.xml 접속 시 XML 출력 확인


2.3 성능 최적화 권장사항

항목 권장 설정 효과
PHP OPcache opcache.enable=1 PHP 파일 컴파일 캐시. 응답 속도 대폭 향상
APCu 또는 Redis DxCache 드라이버 자동 선택 DB 쿼리 감소 (설정 캐시 300초)
MySQL 쿼리 캐시 query_cache_type=1 (MySQL 5.x) 반복 쿼리 캐시
FULLTEXT 인덱스 ft_min_word_len=2 (my.cnf) 2자 이상 검색어 지원
gzip 압축 gzip on (Nginx) / mod_deflate (Apache) HTML/JS/CSS 전송 크기 감소
HTTP/2 웹 서버에서 활성화 다중 자원 병렬 전송 성능 향상

댓글0

로그인 후 댓글을 작성할 수 있습니다.
1. DX 철학 / 개념 왜 DXCMS를 만들었는가 2026.04.20 1. DX 철학 / 개념 DXCMS란 무엇인가 2026.04.20 DXCMS 활용 (CMS) DXCMS 날코딩•막코딩 완전 허용 2026.04.12
31
전체 회원
503
전체 게시글
770
전체 댓글
442
오늘 방문
33,173
전체 방문
3
현재 접속
인기글 7일 이내
최신글
최신댓글
목록