DXCMS 변경 내역
v10.4.8
관리자
- 플러그인 목록 카드에 정보(i) 버튼 추가 (
admin/plugins/index.php,admin/plugins/info.js). 누르면 모달로 다음을 보여줍니다.- 플러그인 폴더의 서버 전체 경로·상대 경로(복사 버튼), 폴더·
plugin.php·manifest.php존재 여부,plugin.php수정 시각, 버전·활성 상태, 최상위 파일 목록 - DB 테이블(선언된 테이블과 이름으로 추정되는 테이블)의 존재 여부·행 수(추정)·크기
settings테이블의 해당 플러그인 설정 키(key·secret·password·token이 들어간 키의 값은 가려서 표시)- 폴더가 없는 플러그인에도 표시되어, 활성인데
plugin.php가 없는 경우를 바로 찾을 수 있습니다. - 설정 키를 이름 규칙으로 찾지 못하는 플러그인은
manifest.php에'settings_prefix' => array('접두사_')를 적으면 표시됩니다.
- 플러그인 폴더의 서버 전체 경로·상대 경로(복사 버튼), 폴더·
- 기존 코드는 삭제 없이 추가만 했습니다.
성능
- 방문자 기록(
extend/middle/01_visit_tracker.php): 검색 로봇이 짧은 시간에 몰려 올 때 같은 IP의 기록을 10분에 3건까지만 남깁니다.dx_visit_logs테이블이 빠르게 커지고 DB 부하가 생기던 문제를 줄입니다. 사람 방문자의 기록과 일별 통계(dx_visits)는 그대로입니다.
스타일 부스터
(스타일 부스터 제외 및 분리 작업)
보안
- http 접속 시 https로 자동 이동 추가 (
extend/top/09_force_https.php). 사이트 주소가 https일 때만 동작. 끄기:data/force_https.off. 이동 표시 쿠키 HttpOnly. - 업로드 폴더 압축·실행 파일 직접 받기 차단 추가 (
extend/top/08_archive_guard.php,.htaccess,data/uploads/.htaccess,web.config). - 업로드 위험 확장자 추가 (
core/api/upload.php): pht, phpt, phtm, pgif, shtml, shtm. - 마이페이지
tab값 정리로 경로 이동 차단 (core/auth/mypage.php). - CSRF 확인 추가: 다운로드 API POST (
core/api/download.php), 이메일 인증 (core/auth/email-verify.php). unserialize에allowed_classes => false적용 (core/Secure.php,core/DxCache.php, PHP 7+).- LIMIT/OFFSET 정수 고정:
admin/{members,downloads,pages,points,popular},core/api/memo.php,core/db/QueryBuilder.php, 게시판 스킨 view.php 3종, new-groupchat_gc_api.php. - 최신글 스킨 blog·studio의 IN 목록 자리표시자 분리.
- 검토 완료된 업로드·include·sendmail 코드에
dx-preflight-ignore표시 추가(동작 변경 없음).
호환성 (PHP 5.6)
random_bytes직접 호출 제거:core/api/session_extend.php,core/auth/login.php,themes/new-basic/auth/login.php(function_exists확인 →openssl_random_pseudo_bytes, 둘 다 없으면 토큰 발급 중단).- dx-socket 3.9.2: 기능 레지스트리를 함수(
dx_sock_features())로 변경, 소켓 그룹키를 서버 도메인 기준으로 조회.
기타
- 플러그인
manifest.php정리(결제·예제 플러그인 12개, ckeditor4-editor, dx-socket). install/migrate.php: 설치 시core/Secure.php를 해시 폴더로 복사(기존 동작), 점검 표기 정리.- 갤러리 스킨·default 테마 지원 종료.
version.php10.4.6 → 10.4.7.