시스템 아키텍처 및 기술적 결정
SSLCI 플랫폼 개발 과정에서 취해진 기술적 결정 및 시스템 기능에 대한 상세 내역.
시스템 코어 및 라우팅
- 모든 웹 요청은 중앙 프론트 컨트롤러(Front Controller)를 통해 필터링되어 안전한 경로 관리를 보장합니다.
- 파일 종속성은 PSR-4 준수 오토로더(Autoloader)를 통해 동적으로 관리됩니다.
- URL 세그먼트를 분석하여 언어 코드와 대상 페이지를 감지하는 유연한 라우터(Router) 엔진이 사용됩니다.
- Strict Types(엄격한 타입) 요구 사항을 통해 런타임 오류를 최소화하고 코드 품질을 높입니다.
- 화이트리스트 기반 페이지 액세스 제어를 통해 승인되지 않은 디렉토리나 파일 호출을 완전히 차단합니다.
- 출력 버퍼링(Output Buffering) 기술을 사용하여 페이지 콘텐츠를 메인 템플릿(Layout)에 정확하게 삽입합니다.
- 시스템은 서버 리소스를 최적화하기 위해 필요한 시점에만 필요한 클래스를 메모리에 로드합니다.
다국어 및 SEO 전략
- 정확히 17개 언어로 동시 서비스를 제공하는 JSON 기반의 고성능 로컬라이제이션 매트릭스가 사용됩니다.
- 도트 표기법(Dot-notation) 지원을 통해 깊게 중첩된 번역 키에 대한 빠른 액세스를 제공합니다.
- 번역 파일이 없을 경우 기본 언어(터키어)로 자동 전환되는 안전한 폴백(fallback) 메커니즘이 활성화되어 있습니다.
- 동적 hreflang 태그를 생성하여 모든 언어 변형을 검색 엔진에 기술적으로 보고합니다.
- 페이지별로 고유한 언어 기반 기본(Canonical) 링크를 생성하여 중복 콘텐츠 위험을 방지합니다.
- 메타 제목, 설명 및 키워드 관리는 17개 언어의 언어 파일에서 중앙 집중식으로 관리됩니다.
- 현지 국기 아이콘은 고해상도 SVG 라이브러리(flag-icons)를 통해 시스템에 통합되었습니다.
보안 및 인증
- 모든 데이터베이스 상호 작용은 PDO Prepared Statements 아키텍처로 수행되어 SQL 인젝션 위험을 제거합니다.
- Google OAuth 2.0 프로토콜을 통해 안전한 인증이 제공되며, 시스템에 사용자 비밀번호를 저장하지 않습니다.
- 크로스 사이트 요청 위조(CSRF) 보호를 위해 각 세션마다 고유한 256비트 암호화 토큰이 할당됩니다.
- 안전한 렌더링을 위해 모든 데이터 출력은 XSS 공격에 대비하여 htmlspecialchars() 필터를 통과합니다.
- 세션 쿠키는 Secure, HttpOnly 및 SameSite=Strict 플래그를 갖춘 현대적인 보안 표준을 준수합니다.
- 로그아웃(Logout) 프로세스 중에 모든 인증 토큰이 브라우저와 서버에서 영구적으로 삭제됩니다.
- 개인 키(Private Key) 데이터는 PEM 형식으로 처리되며 서버 측에서 최고 수준의 기밀성을 유지합니다.
SSL 및 ACME v2 자동화
- Let's Encrypt ACME v2 프로토콜을 통해 완전 자동화된 인증서 생성 주기가 구현됩니다.
- JWS(JSON Web Signature) 표준으로 서명된 API 요청을 통해 Let's Encrypt 서버와 안전한 통신이 이루어집니다.
- HTTP-01 및 DNS-01 검증 방법을 통해 표준 및 와일드카드 인증서가 모두 지원됩니다.
- 인증서 서명 요청(CSR)은 비대칭 암호화 알고리즘을 사용하여 서버 측에서 동적으로 생성됩니다.
- 챌린지(Challenge) 상태를 주기적으로 조회하여 주문의 valid/invalid 상태를 즉시 추적합니다.
- 검증 시도가 실패할 경우 시스템은 자동으로 새 주문을 열어 프로세스를 개선합니다.
- 인증서 PEM 파일은 CRT, KEY 및 CA(Bundle)로 파싱되어 사용자에게 전체 세트로 제공됩니다.
디자인 시스템 및 사용자 경험
- 기업 아이덴티티를 준수하는 오렌지(#D87000) 중심의 현대적이고 프리미엄한 디자인 언어가 사용됩니다.
- 사용자 제어 다크 모드(Dark Mode) 지원은 CSS 변수를 사용하여 부드러운 전환을 제공합니다.
- 글래스모피즘(Glassmorphism) 인터페이스 구성 요소를 사용하여 깊이감을 주는 투명하고 미적인 레이어가 설계되었습니다.
- Outfit(Google Fonts) 타이포그래피 패밀리를 통해 모든 화면 크기에서 높은 가독성 표준을 유지합니다.
- 테마 설정은 localStorage에 저장되며 사용자의 다음 방문 시 자동으로 기억됩니다.
- 반응형 아키텍처를 통해 플랫폼은 모바일, 태블릿 및 데스크탑 기기에서 전체 성능으로 작동합니다.
- 마이크로 인터랙션 및 부드러운 전환 효과를 통해 사용자 피드백과 상호 작용이 향상되었습니다.
데이터베이스 및 데이터 관리
- MySQL 데이터베이스 스키마는 고성능 및 데이터 무결성을 위해 InnoDB 엔진으로 구성되었습니다.
- Google ID 기반의 단일 계정 관리를 통해 사용자 인증서 이력이 안전하게 보관됩니다.
- 주문 및 검증 기록은 ACME 프로토콜 단계를 따르기 위해 관계형 테이블에 보관됩니다.
- 타임스탬프 기록 시스템을 사용하여 인증서 유효 기간을 초 단위 정밀도로 모니터링합니다.
- 싱글톤(Singleton) 디자인 패턴으로 데이터베이스 연결을 관리하여 리소스 소모를 최소화합니다.