권한 부여
이미 인증된 사용자가 특정 데이터나 기능에 접근할 수 있는지 판단하는 과정이다. 예를 들어 로그인은 성공했더라도 다른 사람의 주문 내역을 볼 수 없어야 하고, 일반 사용자가 관리자 페이지에 접근하면 안 된다. AI가 만든 CRUD 코드는 '로그인했는가'만 확인하고 '이 데이터의 소유자인가'를 빼먹는 경우가 많다. 바이브 코딩에서는 API 라우트, 서버 액션, 데이터베이스 쿼리마다 권한 조건을 명시적으로 요구하고 테스트해야 안전하다.
예시
게시글 수정 API에서 현재 사용자의 id와 게시글의 authorId가 같은지 확인한 뒤에만 업데이트한다. AI가 단순히 /posts/:id 요청을 받아 수정하도록 만들었다면, 다른 사용자의 id로 요청해도 막히는지 권한 테스트를 추가한다.
참고
OWASP Top 10의 Broken Access Control과 직접 연결되는 핵심 개념이다.
카테고리
보안·인증
난이도
basic
태그
권한 · 접근제어
함께 읽기
연관 용어
보안·인증
쿠키
웹사이트가 브라우저에 저장해 두는 작은 데이터 조각이다. 로그인 상태 유지, 장바구니, 언어 설정처럼 다음 방문에도 기억해야 하는 정보를 담을 때 쓰인다. 편리하지만 인증 쿠키를 잘못 다루면 계정 탈취 위험이 생기므로 httpOnly, secure, sameSite 같은 보안 옵션을 함께 이해해야 한다.
보안·인증
세션
사용자가 사이트에 접속해 있는 동안 서버가 유지하는 상태 정보이다. 보통 브라우저에는 세션 ID만 쿠키로 저장하고, 실제 로그인 사용자 정보와 권한은 서버나 데이터베이스에 둔다. 바이브 코딩에서 로그인 기능을 만들 때 세션과 쿠키의 차이를 이해하면 민감한 사용자 정보를 브라우저에 과도하게 저장하는 실수를 줄일 수 있다.
보안·인증
교차 출처 리소스 공유
브라우저가 한 출처의 웹 페이지에서 다른 출처의 API를 호출할 때 적용하는 보안 규칙이다. 프론트엔드와 백엔드 도메인이 다르면 서버가 어떤 출처를 허용하는지 응답 헤더로 알려줘야 한다. 바이브 코딩 초보자가 '브라우저에서는 막히는데 터미널 curl은 된다'는 상황을 만날 때 CORS가 원인인 경우가 많다.