DSc T2Editor Developers
DocumentationAdministration
Administration

관리자 기능 개발

관리자 UI와 API의 인증, 상태 파일, 캐시·설치 작업 경계를 설명합니다.

관리자 기능 개발

API 구조

  • admin/api.phpapi.core.php: 상태·설정·플러그인·툴바·라이선스·캐시·시스템 정보·비밀번호
  • environment_api.php: 로컬 환경과 네트워크 상태
  • update_api.php: 소스, 확인, 계획, 적용, rollback과 백업
  • third_party_api.php: 마켓, 카탈로그, 상세, 리뷰, 설치와 제거
  • runtime_config.php: 에디터 페이지가 읽는 공개·읽기 전용 런타임 설정

각 공개 PHP는 불변 래퍼이며 t2_extend_endpoint_target()이 선택 runtime의 같은 상대 .core.php 또는 base 구현을 고른다.

보안 규칙

  • 관리자 세션과 CSRF를 공통으로 확인한다.
  • 민감 설치 작업은 password_verify()로 로컬 비밀번호를 재검증한다.
  • action은 allowlist로 분기하고 알 수 없는 action을 거부한다.
  • 경로 작업은 허용 루트 내부인지 확인하고 루트 자체 삭제와 symlink 추적을 금지한다.
  • API 오류는 JSON으로 반환하되 비밀번호 해시·파일 시스템 비밀 경로를 불필요하게 노출하지 않는다.

상태 저장

관리자 인증, 설정, 마켓, 설치 레지스트리는 T2EDITOR_PRIVATE_PATH 아래 PHP-wrapped private store에 원자적으로 기록한다. 공개 자산과 같은 폴더에 JSON 평문으로 쓰지 않는다. runtime_config.php는 필요한 공개 설정만 투영하며 비밀값을 내보내지 않는다.

새 기능 추가 순서

  1. 읽기와 쓰기 action, 권한, CSRF, 재인증 여부를 먼저 정의한다.
  2. 입력 길이·형식·열거값을 서버에서 검증한다.
  3. 상태 파일 또는 캐시의 소유권과 rollback 방법을 정한다.
  4. UI는 API의 확정 응답 뒤에만 성공 상태를 표시한다.
  5. base와 선택 runtime, 그누보드5·라이믹스·독립 경로에서 시험한다.
기술 기준

T2Editor 10.4.0을 기반으로 작성되었으며, 동일한 구조와 계약을 유지하는 이후 버전에도 적용됩니다.

T2Editor 홈으로