쿠키
웹사이트가 브라우저에 저장해 두는 작은 데이터 조각이다. 로그인 상태 유지, 장바구니, 언어 설정처럼 다음 방문에도 기억해야 하는 정보를 담을 때 쓰인다. 편리하지만 인증 쿠키를 잘못 다루면 계정 탈취 위험이 생기므로 httpOnly, secure, sameSite 같은 보안 옵션을 함께 이해해야 한다.
예시
로그인 후 서버가 세션 쿠키를 내려주면, 브라우저는 다음 요청마다 쿠키를 함께 보내 사용자를 식별한다.
카테고리
보안·인증
난이도
basic
태그
쿠키 · 인증
함께 읽기
연관 용어
보안·인증
세션
사용자가 사이트에 접속해 있는 동안 서버가 유지하는 상태 정보이다. 보통 브라우저에는 세션 ID만 쿠키로 저장하고, 실제 로그인 사용자 정보와 권한은 서버나 데이터베이스에 둔다. 바이브 코딩에서 로그인 기능을 만들 때 세션과 쿠키의 차이를 이해하면 민감한 사용자 정보를 브라우저에 과도하게 저장하는 실수를 줄일 수 있다.
보안·인증
교차 출처 리소스 공유
브라우저가 한 출처의 웹 페이지에서 다른 출처의 API를 호출할 때 적용하는 보안 규칙이다. 프론트엔드와 백엔드 도메인이 다르면 서버가 어떤 출처를 허용하는지 응답 헤더로 알려줘야 한다. 바이브 코딩 초보자가 '브라우저에서는 막히는데 터미널 curl은 된다'는 상황을 만날 때 CORS가 원인인 경우가 많다.
보안·인증
JWT
사용자 인증 정보를 JSON 형태로 안전하게 전달하기 위한 토큰 표준(RFC 7519)으로, 서버가 세션 상태를 저장하지 않는 무상태(stateless) 인증 방식이다. 토큰은 헤더(알고리즘·타입), 페이로드(사용자 정보·만료시간), 서명(위변조 방지) 세 부분으로 구성되며, Base64URL로 인코딩되어 점(.)으로 연결된다. AI에게 '로그인 API 만들어줘'라고 하면 높은 확률로 JWT 기반 인증 코드를 생성하는데, 이는 JWT가 구현이 비교적 간단하고 서버리스 환경과 궁합이 좋기 때문이다. 그러나 AI 생성 JWT 코드에서 자주 발생하는 문제들이 있다: 토큰 만료 시간을 설정하지 않거나 지나치게 길게 설정, 리프레시 토큰(refresh token) 메커니즘 누락, httpOnly·secure 쿠키 대신 localStorage에 저장(XSS 취약), 토큰 무효화(로그아웃 시 서버 측 블랙리스트) 미구현, 비밀 키를 코드에 하드코딩 등. 이러한 보안 누락은 AI Slop의 전형적 사례이며, JWT를 사용할 때는 반드시 인간이 보안 측면을 검토해야 한다.