- lib/security.ts: escapeHtml, isValidEmail, sanitizeStr, checkRateLimit 유틸 추가
- next.config.ts: 보안 헤더 적용 (X-Frame-Options, HSTS, Permissions-Policy 등)
- api/contact: XSS 방어, Rate Limit(5/min), 입력 길이 제한
- api/payment/confirm: 사용자 인증·소유권 검증, 타입 체크, 에러 메시지 정제
- api/admin/quotes: PUT 허용 필드 화이트리스트 적용
- api/saju/analyze: 로그인·결제 검증, 입력 크기 제한, gender 값 검증
- public/downloads/web_scraper_v1.0.py: requests+BS4+openpyxl 웹 크롤러
- public/downloads/ppt_automation_v1.0.py: python-pptx+openpyxl PPT 자동화
- app/services/automation/tools/scraper: 크롤러 상세 페이지 추가
- app/services/automation/tools/ppt: PPT 도구 상세 페이지 추가
- app/services/automation/page.tsx: scraper ready=true, email→PPT 교체
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
NEXT_PUBLIC_CDN_URL 환경변수로 다운로드 경로 관리
- Cloudflare Tunnel + NAS nginx 서버 연동 예정
- 미설정 시 상대경로(/downloads/...) 폴백
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- app/services/website/page.tsx: Google Fonts (Syne, Noto Sans KR) 제거
→ 사이트 공통 폰트 CookieRun으로 교체, @import 제거
- app/services/automation/page.tsx: 자동화 도구 무료 다운로드 섹션 추가
- 엑셀 자동화 도구(배포), 웹 스크래핑·이메일 자동화(준비중) 카드
- 각 카드 → 상세 서브페이지 링크 연결
- app/services/automation/tools/excel/page.tsx: 신규 생성
- 엑셀 매크로 툴킷 상세 페이지 (기능 6가지, 사용법, 미리보기 목업, FAQ)
- 무료 다운로드 버튼 (/downloads/Excel_Macro_Toolkit_v1.2.xlsm)
- 맞춤 개발 문의 CTA
- public/downloads/: 다운로드 파일 배치 디렉토리 생성
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>