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

DXCMS 9.0.0

D DX관리자
2026.08.31 22:49(수정됨) 12 0 2

DXCMS v9.0.0 패치 내역

릴리즈: 2026-08-27
기준 버전: v8.8.3 → v9.0.0



패치 목록

# 패치명 분류 수정 파일
1 회원가입 이메일 인증 신규 기능 7개
2 뿌리오 SMS 드라이버 신규 기능 3개
3 최신글 위젯 N 뱃지 기능 개선 7개
4 CKEditor clipboard 경고 제거 버그 수정 1개
5 게시판 핸들러 catParentSlug 누락 버그 수정 1개
6 DxCache 레이스 컨디션 버그 수정 1개
7 dx_error 400/403 로그 억제 버그 수정 1개


1. 회원가입 이메일 인증

개요

회원가입 시 이메일 인증 코드를 발송하여 실제 소유자인지 확인하는 기능입니다.
관리자에서 활성/비활성 전환이 가능합니다.


수정 파일

파일 작업
install/schema.sql dx_email_verifications 테이블 추가
install/migrate.php 기존 설치자용 마이그레이션 블록 추가
admin/settings/index.php 이메일 인증 활성화 체크박스 추가
core/auth/Auth.php register() 함수에 DB 기반 인증 검증 추가
core/auth/register.php 인증 완료 이메일 자동 입력 및 readonly 처리
core/auth/email-verify.php 이메일 인증 전용 페이지 (신규)
core/api/email_verify_send.php 인증코드 발송 API (신규)
core/api/email_verify_check.php 인증코드 확인 API (신규)
extend/middle/10_email_verify_gate.php 인증 미완료 시 인증 페이지로 리다이렉트 (신규)


동작 흐름

/auth/register 접근
    ↓ (이메일 인증 ON + 미인증)
/auth/email-verify
    → 이메일 입력 → 코드 발송
    → 6자리 코드 입력 → PHP POST로 검증
    → DB used=1 저장 → /auth/register?em=이메일 이동
        → 이메일 input 자동 입력 + readonly
        → ✓ 이메일 인증 완료 표시
        → 가입 완료 후 used=3 소진


보안

  • 6자리 랜덤 코드 + 10분 만료
  • 5분 내 5회 실패 시 잠금
  • 1분 재발송 쿨다운
  • hash_equals()로 타이밍 어택 방지
  • Auth::register() 백엔드 최종 검증 (DB 기반, JS 우회 불가)
  • 가입 완료 후 인증 레코드 즉시 소진 (재사용 불가)


관리자 설정

관리자 → 사이트 설정 → 보안 및 접근 설정
→ "회원가입 이메일 인증" 체크박스 On/Off
※ SMTP 설정 완료 후 활성화할 것


2. 뿌리오 SMS 드라이버

개요

뿌리오(Ppurio) API를 통해 SMS/LMS/MMS 문자를 발송하는 드라이버입니다.


수정 파일

파일 작업
core/DxSms.php 뿌리오 드라이버 등록 지원
core/sms/DxPpurioSmsDriver.php 뿌리오 API 드라이버 (신규)
admin/sendsms/index.php 관리자 문자 발송 화면에 뿌리오 선택 추가
extend/top/99_ppurio_sms.php 드라이버 자동 등록 훅 (신규)


뿌리오 사전 준비

순서 할 일 비고
뿌리오 기업회원 전환 연동은 기업회원만 가능
연동 신청 뿌리오 > 연동 > 연동 신청 (승인 영업일 1~2일)
서버 IP 등록 뿌리오 > 연동 > 연동신청관리
인증키 확인 연동신청관리 화면에서 발급
발신번호 등록 뿌리오 > 발신번호 관리


관리자 설정

관리자 → 문자 보내기 → API 설정
→ 드라이버: 뿌리오 (Ppurio) 선택
→ 뿌리오 계정: [아이디 입력]
→ 연동 인증키: [인증키 입력]
→ 발신번호: [등록된 번호 입력]
→ 설정 저장


API 규격

항목 내용
Rate Limit 초당 15회
SMS 최대 90 byte
LMS 최대 2,000 byte
MMS JPG, 최대 300KB
토큰 유효시간 24시간 (자동 갱신)


3. 최신글 위젯 N 뱃지

개요

최신글 위젯에서 24시간 이내 작성된 게시글에 N 뱃지를 표시합니다.


수정 파일

파일 작업
core/functions.php dx_board_posts() 반환 배열에 created_at, is_truncated 추가 / 제목 제거
themes/default/board_latest/list.php N 뱃지 출력 추가
themes/default/board_latest/simple.php N 뱃지 출력 추가
themes/default/board_latest/card.php N 뱃지 출력 추가
themes/default/board_latest/basic/list.php N 뱃지 출력 추가
themes/default/board_latest/basic/simple.php N 뱃지 출력 추가
themes/default/board_latest/basic/card.php N 뱃지 출력 추가


출력 순서

제목 + … (잘린 경우) + N (24시간 이내) + [댓글수]


4. CKEditor clipboard 경고 제거

개요

CKEditor 에디터 사용 시 콘솔에 반복 출력되던 clipboard-image-handling-disabled 경고를 제거합니다.


원인

ckeditor.js 번들 내 uploadimage 플러그인에서 clipboard_handleImages 조건 감지 시 CKEDITOR.warn()을 호출하는 코드가 있었습니다.


수정 파일

파일 작업
assets/ckeditor4/ckeditor.js 경고 발생 코드 제거


5. 게시판 핸들러 catParentSlug 누락

개요

게시판 스킨에서 $_catParentSlug 변수를 사용할 때 Undefined variable 에러가 발생하던 문제를 수정합니다.


원인

boards/handler.phpcompact() 호출 시 catParentSlug가 누락되어 스킨으로 전달되지 않았습니다.


수정 파일

파일 작업
boards/handler.php compact() 2곳에 'catParentSlug' 추가


6. DxCache 레이스 컨디션

개요

파일 캐시 읽기 시 No such file or directory 에러가 로그에 반복 기록되던 문제를 수정합니다.


원인

file_exists() 체크 후 file_get_contents() 사이에 다른 프로세스가 캐시 파일을 삭제하는 레이스 컨디션. Windows IIS 멀티 프로세스 환경에서 발생.
PHP 8.0+에서 @ 억제자가 error_log 기록을 막지 못하는 문제도 복합 작용.


수정 파일

파일 작업
core/DxCache.php file_exists() 제거, error_reporting(0) 일시 억제 후 읽기 처리


7. dx_error 400/403 로그 억제

개요

봇/크롤러의 잘못된 접근으로 인한 400, 403 에러가 로그에 반복 기록되던 문제를 수정합니다.


원인

dx_error() 함수에서 404만 로그 제외 처리하고 있었습니다.


수정 파일

파일 작업
core/functions.php dx_error() 로그 제외 조건에 400, 403 추가


⚠️ 마이그레이션 필수 안내

v9.0.0은 DB 구조 변경이 포함되어 있습니다.
기존 설치자는 반드시 아래 절차를 따라야 합니다. 누락 시 이메일 인증 기능이 정상 동작하지 않습니다.


신규 설치

install/schema.sql 교체 후 설치 진행 — dx_email_verifications 테이블이 자동 생성됩니다.


기존 설치 (필수)

파일 교체만으로는 부족합니다. 반드시 migrate.php를 실행하세요.

  1. install/migrate.php 파일 교체
  2. 브라우저에서 아래 URL 접속
https://도메인/install/migrate.php
  1. 아래 항목이 완료되었는지 확인
    • dx_email_verifications 테이블 생성
    • use_email_verify 기본값 0 등록
    • cms_version 9.0.0 기록
  2. 확인 후 install/migrate.php 삭제 또는 접근 차단 권장

댓글2

안졸리니졸리 2026.09.01 09:56
수고하셨습니다
바쁘신 와중에도 열심히 업그레이드 해주셔서 감사할 따름입니다
좋은날 되세요
^___________^
여
여유당 2026.09.01 11:53

고생 많으셨습니다. 

감사합니다.

로그인 후 댓글을 작성할 수 있습니다.
45
전체 회원
1,360
전체 게시글
2,727
전체 댓글
40
오늘 방문
53,371
전체 방문
1
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록