앱은 잘 만들었는데 계정이 털리고 데이터가 새면
모든 노력이 무너진다. 보안은 "있으면 좋은 것"이 아니라 기본기다.
AI에게 코드를 받을 때도 — "이 코드 안전해?"
라고 물을 수 있어야 진짜 사용 가능한 결과물이 나온다.
가장 자주 헷갈리는 두 단어 — 영어로는 Authentication과 Authorization.
JWT(JSON Web Token)는 점(.)으로 구분된 세 조각으로 구성된다.
로그인부터 API 호출까지 — JWT가 어떻게 사용되는지 한눈에 보자.
핵심: 서버가 매번 DB를 뒤져 사용자를 찾지 않아도 된다 —
토큰 자체가 위조 불가능한 신분증 역할을 한다.
이름만 들어봐도 어떤 공격인지 떠올릴 수 있어야 한다.
<script>를 넣어 다른 사용자의 브라우저에서 악성 코드 실행XSS와 SQL 인젝션 — 어떻게 들어오고, 어떻게 막는가.
<script>쿠키훔치기</script> 입력' OR 1=1 -- 입력<를 <로 변환CSRF — 사용자가 의도하지 않은 요청을 보내게 만드는 교묘한 공격.
<img> 태그 클릭평문 HTTP는 카페 와이파이에서도 탈취 가능하다. HTTPS는 선택이 아닌 필수.
한 번 팔찌를 받으면 — 매 놀이기구마다 명단을 확인할 필요가 없다.
보안 용어를 알면 받은 코드가 안전한지 검증할 수 있다.
보안을 갖춘 서비스가 운영되기 시작하면 — "무엇이 잘 되고 무엇이 망가졌는지"를
알아야 한다. 로깅과 에러 처리 — 서비스 운영의 눈이 되는 기술을 배운다.
💡 기억할 것: 인증 = 신원, 인가 = 권한. JWT = 위조 불가능한 팔찌.