security: login rate-limit, gitignored account store, secure cookie opt, upgrade-fail log
리뷰 지적 4건 반영(서버 전용, exe 영향 없음). - 로그인 IP 기준 실패 제한(15분 창 10회 → 15분 차단). 브루트포스 + scrypt CPU 남용 방지. 인메모리, 무한 성장 가드 포함. - 운영 계정을 gitignore 된 account.local.json 으로 이전. readAccounts 는 local 우선, 없으면 추적되는 account.json 을 시드로 읽음. writeAccounts 는 local 에만 기록 → 첫 로그인 자동 해시 업그레이드부터는 추적 평문 파일을 더 쓰지 않음. (account.json 을 git rm --cached 하면 서버 pull 시 삭제되는 위험이 있어 추적 자체는 건드리지 않고, 실질 사용 파일만 분리.) - 세션 쿠키 secure 를 SESSION_COOKIE_SECURE=true 로 켤 수 있게(HTTPS 배포용). - 평문→해시 자동 업그레이드 저장 실패를 조용히 무시하지 않고 console.error 로 기록. Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -9,3 +9,5 @@ conversations/
|
||||
.env.*.local
|
||||
# 세션 서명용 자동 생성 시크릿. 절대 커밋 금지.
|
||||
.session-secret
|
||||
# 운영 계정(해시 비밀번호) 파일. 추적되는 account.json 대신 이 파일을 사용. 커밋 금지.
|
||||
account.local.json
|
||||
|
||||
Reference in New Issue
Block a user