1보낸 것
2돌려받은 것
출시를 막아야 하는 문제 2개(관리자 화면 노출, 결제 키 노출)가 있어요. 위험한 순서대로 고칠 목록을 드려요.
- 1
/admin → 200 OK (로그인 화면 없이 주문 목록 표시)
관리자 화면에 로그인과 IP 제한을 걸고, 지금까지 노출됐는지 접속 기록을 확인하세요.
실제 접속해 주문 목록 노출 확인. 가장 먼저 막아야 해요
- 2
NEXT_PUBLIC_PAYMENT_SECRET=sk_live_…
키를 즉시 재발급하고 서버 전용 환경 변수로 옮기세요.
결제 비밀 키가 브라우저로 내려가요. 누구나 결제 취소·환불을 호출할 수 있어요.
- 3
http://shop.example-demo.kr
HTTPS를 켜고 http 요청을 https로 넘기세요.
HTTPS가 아니라 로그인·주소 정보가 암호화되지 않아요.
- 4
Set-Cookie: session=ab12…; Path=/
Set-Cookie: session=…; Path=/; Secure; HttpOnly; SameSite=Lax
Secure·HttpOnly 설정이 없어 세션을 가로채기 쉬워요.
- 5
jquery-1.12.4.min.js
jQuery 3.7 이상으로 올리거나 쓰지 않으면 빼세요.
알려진 취약점이 있는 오래된 버전이에요.
- 6
회원가입 폼: 이름·휴대폰·주소 수집, 동의 항목 없음
수집 항목·목적·보관 기간 고지와 동의 체크, 처리방침 링크를 두세요.
개인정보 수집·이용 동의가 없어요.
- 7
응답 헤더 전체
Content-Security-Policy, X-Frame-Options: DENY, Referrer-Policy 추가
기본 보안 헤더가 하나도 없어요 (낮음)
고칠 목록
고칠 목록 (위험한 순서) [즉시] /admin 로그인·IP 제한, 노출 기간 접속 기록 확인 [즉시] 결제 비밀 키 재발급 → 서버 전용 변수 [출시 전] HTTPS 적용, 세션 쿠키 Secure·HttpOnly [출시 전] 회원가입 개인정보 동의 [권장] jQuery 업데이트, 기본 보안 헤더