AI 글쓰기 및 SNS 연동 기능에 앞서, 멀티테넌트(Multi-Tenant) 환경에서의 구조적 안정성(DB/트래픽), 강력한 보안, 그리고 "완벽한 모바일 사용자 경험(UX)"을 달성하기 위한 1단계 보완 계획입니다.

1. 아키텍처 및 DB 구조 안정화 (Traffic & Scaling)

현재 모든 테넌트(사용자)가 동일한 데이터베이스를 공유하는 구조(Shared-Database, Shared-Schema)입니다. 트래픽 증가 및 테넌트 확장에 대비해 병목현상을 제거하고 데이터 무결성을 강화합니다.

1.1. 데이터베이스 인덱싱 및 쿼리 최적화

  • [MODIFY]  database/init.sql  및 마이그레이션:
    • postscommentstenant_settings  등 모든 주요 테이블에  tenant_id  및 조회용 컬럼(예:  created_atboard_type )을 결합한 복합 인덱스(Composite Index) 추가.
    • (예:  CREATE INDEX idx_tenant_board ON posts (tenant_id, board_type, created_at DESC); )
  • 성능 분석: N+1 쿼리 문제가 발생하는지 확인하여  JOIN  또는 Eager Loading 구조로 개편.

1.2. 캐싱(Caching) 레이어 도입 준비

  • 동적이지만 자주 변하지 않는 데이터(예:  tenant_settings , 메인 레이아웃 정보 등)의 경우 매 페이지 로드마다 DB 조회를 하지 않도록 캐싱 구조 설계. (Redis/Memcached 연동 준비 또는 파일 기반 캐싱 도입).

2. 보안(Security) 근본적 강화

가입자(정치인, 퍼스널 브랜드 등)의 명성에 직결될 수 있으므로 XSS, CSRF, SQL Injection 에 대한 완전한 방어벽을 구축합니다.

2.1. CSRF (크로스 사이트 요청 위조) 방어

  • [MODIFY]  src/Core/Security.php  (신규): 세션 기반 CSRF 토큰 생성 및 검증 로직 구현.
  • [MODIFY]  templates/* : 모든 POST 폼(회원가입, 로그인, 설정, 글쓰기 등)에 CSRF 토큰 필드( <input type="hidden" name="csrf_token"> ) 강제 적용.
  • [MODIFY]  src/Controllers/* : POST 요청 시 CSRF 토큰 유효성 필수 검증.

2.2. XSS (크로스 사이트 스크립팅) 완전 차단

  • [MODIFY]  src/Controllers/BaseController.php : 뷰(View)로 전달되는 모든 데이터에 대해 기본적으로  htmlspecialchars 를 적용하는 안전한 출력 헬퍼(Helper) 함수 도입.
  • [MODIFY] 에디터(WYSIWYG) 보안: 게시물 작성 에디터에서 악성 스크립트를 걸러내는 HTML Purifier 라이브러리 적용 (필요시 백엔드에서 정제).

3. 완벽한 모바일 최적화 (Mobile UI/UX)

단순한 반응형(Responsive)을 넘어, "앱처럼 느껴지는" 모바일 네이티브 UX를 제공합니다.

3.1. 뷰포트 및 레이아웃 재설계

  • [MODIFY]  templates/posts/layout_header.php :
    • 완벽한 모바일 뷰포트 설정 ( width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no ).
    • 모바일에서는 하단 네비게이션 바(Bottom Navigation Bar)를 도입하여 주요 메뉴 접근성 극대화.
  • [MODIFY]  templates/posts/index.php  및 CSS:
    • 모바일 환경에서 글씨 크기, 버튼 터치 영역(Touch Target, 최소 48x48px) 완벽 확보.
    • 제스처(스와이프) 동작을 통한 이미지/배너 슬라이더 적용.
    • iOS 환경의 안전 영역(Safe Area) 패딩 반영 ( env(safe-area-inset-bottom)  등).

3.2. 성능 최적화 (성능이 곧 UX)

  • 이미지 최적화: 업로드되는 프로필 및 게시물 사진의 자동 리사이징 및 WebP 포맷 변환 로직 도입 (현재 로직 리뷰 및 보강).
  • 에셋 로딩: CSS/JS 파일의 Minify 적용, 비동기(Defer) 로딩으로 모바일 렌더링 블록 요소 제거.

IMPORTANT

 

User Review Required

  1. 캐싱 도입: 트래픽 최적화를 위해 서버에 Redis나 Memcached 모듈을 설치할 수 있는 환경(서버 권한 등)이 되시는지요? 어렵다면 가벼운 형태의 File 캐싱이나 APCu 캐싱으로 설계하겠습니다.
  2. UI 프레임워크: 현재 사용 중인 CSS 구조가 TailwindCSS 계열인지 바닐라 CSS인지 등 세부 UI 개선을 위해 선호하시거나 이미 적용된 CSS 프레임워크가 있다면 알려주세요. (완벽한 커스텀을 위해서는 바닐라 CSS에 현대적 Flex/Grid를 얹어 고도화하는 것이 좋습니다.)

4. 진행 순서 (Verification Plan)

  1. 보안/DB 구조 작업: CSRF 토큰 적용 및 테이블 인덱스 추가.
  2. 백엔드 로직 정비: 보안 검증 강화 및 쿼리 최적화 확인.
  3. 모바일 UI/UX 적용: View 템플릿 수정, 하단 네비게이션 추가, 모바일 최적화 CSS 적용.
  4. 성능 테스트: 모바일(Lighthouse 등) 로딩 속도, 터치 딜레이 테스트 및 멀티테넌트 트래픽 부하 시뮬레이션.