피드로 돌아가기
Dev.toInfrastructure
원문 읽기
DB 없는 서버리스 아키텍처를 통한 제로-인프라 댓글 시스템 구현
Adding comments to a static Astro blog with Netlify Forms
AI 요약
Context
정적 사이트 내 댓글 기능 구현 시 발생하는 외부 위젯의 의존성 문제와 자체 백엔드 구축에 따른 인프라 오버헤드 사이의 상충 관계 존재. 저트래픽 개인 블로그 환경에서 불필요한 DB 프로비저닝을 배제하고 기존 호스팅 플랫폼의 기능을 최대한 활용하는 최적화된 구조 필요.
Technical Solution
- Netlify Forms를 데이터 수집 큐로 활용하여 별도 데이터베이스 없이 POST 요청 처리 및 데이터 저장 구조 설계
- Webhook 기반의 comment-handler 함수를 통해 관리자에게 HMAC-SHA256 서명 링크가 포함된 알림 메일을 전송하는 비동기 승인 프로세스 구축
- approve-comment 함수를 이용해 승인된 데이터만 별도의 approved-comments 폼으로 이동시켜 데이터 무결성 및 콘텐츠 필터링 보장
- MD5 해싱을 통한 이메일 주소의 서버사이드 암호화 처리를 통해 개인정보 유출 방지 및 Gravatar API 연동 최적화
- Honeypot 필드 적용 및 fetch API 기반의 x-www-form-urlencoded 전송 방식으로 봇 스팸 차단 및 정적 HTML 호환성 확보
실천 포인트
1. 저트래픽 서비스 설계 시 DB 도입 전 플랫폼 제공의 Form/KV Store 활용 가능성 검토
2. 관리자 액션 링크 생성 시 HMAC 서명을 통해 별도 인증 세션 없이 무결성 검증 로직 구현
3. 정적 사이트의 런타임 상태 변경 필요 시 Serverless Function을 통한 데이터 프록시 구조 설계
4. 개인정보 처리 시 클라이언트 전송 전 서버사이드 해싱 처리 필수 적용