회원가입 | 고객센터 |
DESIGNONEX
디자인원엑스
DX마켓
Service
PR리그N
Q&A
지식공유N
공지사항
통계
로그인 회원가입
고객센터

ChatGPT가 DXCMS 소스 분석한 종합평가 보고서입니다.

D DX
2026.05.31 00:34 9 1

DXCMS v8.1.0 심층 기술 분석 보고서

1. 개요

DXCMS v8.1.0은 PHP 5.6 ~ PHP 8.x 환경을 동시에 지원하는 자체 제작 CMS로 분석된다.

핵심 특징:

  • 단일 진입점(index.php) 구조

  • PDO 기반 데이터베이스 계층

  • 멀티사이트 지원

  • 게시판/회원/포인트 시스템 내장

  • Hook 시스템

  • Plugin 시스템

  • CKEditor 4 내장

  • SEO 자동화 기능

  • Redis/APCu/File Cache 지원

  • IIS, Apache, Nginx 동시 지원

전체적으로 "그누보드 + 워드프레스 일부 구조 + Laravel 스타일 Router"를 혼합한 형태에 가깝다.


2. 아키텍처 분석

구조

index.php
 ├─ Secure.php
 ├─ Database.php
 ├─ Router.php
 ├─ DxRouter.php
 ├─ Auth.php
 ├─ HookManager.php
 ├─ PluginRegistry.php
 ├─ DxTheme.php
 └─ Dispatcher

특징:

  • Front Controller 패턴 사용

  • MVC 완전 분리는 아님

  • Controller + View 혼합 구조

  • WordPress 스타일 Hook 채택

평가:

장점

  • 학습 난이도 낮음

  • PHP 5.6 호환성 우수

  • 유지보수 용이

단점

  • 대규모 프로젝트에서는 코드 결합도가 높음

  • MVC Framework 수준의 계층 분리는 부족

점수: 8.0 / 10


3. 데이터베이스 계층

Database.php 분석 결과

특징:

  • PDO 사용

  • Prepared Statement 사용

  • Singleton 패턴

  • Table Prefix 지원

  • Query Logging 지원

PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
PDO::ATTR_EMULATE_PREPARES => true
PDO::ATTR_STRINGIFY_FETCHES => true

장점:

  • SQL Injection 대응

  • MariaDB/MySQL 호환성 우수

  • PHP 5.6 지원

주의사항:

PDO::ATTR_EMULATE_PREPARES => true

실제 서버 Prepared Statement가 아니라
에뮬레이션 방식이다.

보안상 큰 문제는 아니지만

false

설정이 가능하다면 더 바람직하다.

평가: 8.5 / 10


4. 보안 구조 분석

Secure.php 분석

약 1,000줄 이상 규모의 보안 코어 존재.

제공 기능:

  • CSRF

  • XSS 필터

  • Rate Limit

  • Redis 기반 제한

  • CSP Header

  • Upload 검증

  • Session 보호

  • WAF

  • IP 차단

  • Bot 탐지

특히 다음 부분은 인상적이다.

csrfToken()
csrfCheck()
hashEquals()
validateUpload()
rateLimit()

구조가 상당히 체계적이다.


보안 강점

CSRF

토큰 기반 보호 적용

XSS

Sanitizer 계층 존재

Upload

validateUpload() 존재

Rate Limit

Redis + File Fallback

CSP

Nonce 기반 적용


보안 약점 후보

코드 전체 검색 결과:

  • eval() 없음

  • base64_decode 난독화 없음

  • shell_exec 없음

  • system 없음

  • passthru 없음

이는 매우 긍정적이다.

다만 검토 필요:

unserialize()

3회 사용 발견

대상:

  • DxCache.php

  • Secure.php

  • dx-socket 플러그인

외부 입력이 유입된다면 객체 주입(Object Injection) 위험이 존재할 수 있다.

추가 점검 필요.

평가: 9.0 / 10


5. 업로드 시스템

파일:

core/api/upload.php
boards/handler.php

특징:

  • 로그인 필수

  • CSRF 검증

  • MIME 검사

  • 업로드 검증 함수 사용

분석 결과:

move_uploaded_file()

사용 전 보안 검증 로직 존재.

일반적인 PHP CMS 대비 우수한 수준.

평가: 8.8 / 10


6. 캐시 시스템

DxCache.php 분석

지원:

  1. Redis

  2. APCu

  3. File Cache

  4. None

자동 폴백 구조

Redis 실패
 ↓
APCu
 ↓
File Cache
 ↓
No Cache

장점:

  • 웹호스팅 친화적

  • VPS 친화적

  • 대형 서버 친화적

설계 품질 우수.

평가: 9.2 / 10


7. Hook 시스템

HookManager 분석

지원:

add()
run()
filter()

WordPress와 유사한 구조.

예시:

dx_add_hook()

장점:

  • 플러그인 개발 용이

  • 코어 수정 최소화

평가: 9.0 / 10


8. Router 분석

2종류 라우터 존재

Router.php

전통 CMS 방식

/board/free
/page/about
/api/comment

DxRouter.php

Laravel 스타일

DxRouter::get(...)
DxRouter::post(...)
group(...)
middleware(...)

장점:

현대적 개발 가능

단점:

라우팅 체계가 이원화되어 있음

초기 개발자가 아닌 경우 진입장벽 존재

평가: 8.5 / 10


9. 멀티사이트

DxSite.php 기반

특징:

  • site_domain 컬럼

  • 도메인별 설정 분리

  • 게시판 분리

중소형 호스팅 사업자용 CMS로 적합.

평가: 9.0 / 10


10. 관리자 기능

확인된 관리자 모듈

boards
members
levels
menus
pages
statistics
shop
social
plugins
theme
ranking
market

상용 CMS 수준 기능 보유.


11. 플러그인 구조

구성:

plugins/
PluginRegistry.php
HookManager.php
DxMarket.php

특징:

  • 플러그인 등록

  • 활성화

  • Hook 연동

워드프레스 스타일과 유사.

확장성 우수.

평가: 9.0 / 10


12. 성능 평가

예상 성능

소형 사이트:
매우 우수

중형 사이트:
우수

대형 커뮤니티:
캐시 적용 시 양호

수만 동접:
별도 서버 튜닝 필요

README에 적힌 "1만 동접"은 코드만으로는 검증 불가.

실제 가능 여부는

  • DB 구조

  • Redis

  • CDN

  • PHP-FPM

  • Nginx 튜닝

영향이 훨씬 크다.


13. 코드 품질

장점

  • 주석 풍부

  • 파일 구조 명확

  • PHP 5.6 호환성 우수

  • Singleton 일관성

단점

  • 클래스 크기가 큼

  • 일부 파일이 1000줄 이상

  • 의존성 주입(DI) 없음

  • Composer 미사용

현대 PHP 기준:

7.5 / 10

실무 CMS 기준:

8.5 / 10


14. 경쟁 CMS 비교

그누보드 대비

장점

  • Router 우수

  • Cache 우수

  • 멀티사이트 우수

단점

  • 생태계 작음


WordPress 대비

장점

  • 가벼움

  • PHP 5.6 지원

단점

  • 플러그인 수 부족


XE/Rhymix 대비

장점

  • 구조 단순

단점

  • 커뮤니티 규모 작음


최종 평가

보안: 9.0/10

확장성: 8.8/10

성능: 8.7/10

유지보수성: 8.3/10

코드 품질: 8.5/10

아키텍처: 8.4/10

종합 점수: 8.6 / 10

결론:

DXCMS v8.1.0은 개인 제작 CMS 치고는 상당히 완성도가 높으며, 특히 PHP 5.6~8.x를 하나의 코드베이스로 유지한 점, 보안 코어(Secure.php), 멀티 캐시 구조, Hook 시스템은 강점으로 평가된다.

다만 Composer 기반 패키지 관리, DI Container, PSR 표준 적용, 테스트 코드 체계 등 현대 PHP 프레임워크 수준의 구조와는 거리가 있으며, 실제 대규모 서비스 운영 안정성은 별도 검증이 필요하다.

댓글0

로그인 후 댓글을 작성할 수 있습니다.
번호 제목 작성자 날짜 조회
1
초코가좌
03.23 140
초코가좌 · 140
33
전체 회원
731
전체 게시글
1,309
전체 댓글
48
오늘 방문
34,934
전체 방문
5
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록