가장 중요한 규칙

공개돼도 괜찮은 값만 source code에 적습니다. password, API token, private key, Telegram Bot token은 code 밖에 둡니다.

값을 넣는 위치

저장 위치GitHub commit
사이트 이름·공개 URLsite-config.js가능
Telegram public URLsite-config.js가능
Telegram Bot tokenCloudflare Secret금지
관리자 passwordhash로 Database금지
Cloudflare API tokenGitHub Actions Secret금지

.gitignore 예시

.env
.env.*
!.env.example
*.db
*.sqlite
node_modules/
dist/
private/
*.pem
*.key

실수로 공개했을 때

  1. 노출된 token을 즉시 revoke
  2. 새 token 발급
  3. 서비스 Secret에 새 값 등록
  4. Git history에서 민감 파일 제거
  5. 접근 log 확인

관리자 login

password 원문을 Database에 저장하지 않고 PBKDF2, Argon2id 같은 password hashing을 사용합니다. session cookie에는 HttpOnly, Secure, SameSite를 적용하고 login 시도에는 rate limit을 둡니다.

초보자에게 가장 안전한 운영

처음 블로그는 server와 secret이 전혀 없는 정적 웹으로 시작합니다. 동적 기능이 꼭 필요할 때만 별도 API를 추가하면 공격 surface와 설정 실수를 줄일 수 있습니다.

ADVERTISEMENT

AdSense 승인 후 광고가 표시될 자리입니다.

이전 guide← Google AdSense 신청을 준비하는 웹 구조