애플리케이션이 상태 비 저장 인증 (HMAC과 같은 것을 사용)에 의존 할 때 CSRF 보호를 사용해야합니까?
예:
단일 페이지 앱이 있습니다 (그렇지 않으면 각 링크에 토큰을 추가해야합니다 :
<a href="...?token=xyz">...</a>
.사용자는
POST /auth
. 인증이 성공하면 서버는 일부 토큰을 반환합니다.토큰은 단일 페이지 앱 내의 일부 변수에 JavaScript를 통해 저장됩니다.
이 토큰은와 같은 제한된 URL에 액세스하는 데 사용됩니다
/admin
.토큰은 항상 HTTP 헤더 내에서 전송됩니다.
Http 세션과 쿠키가 없습니다.
내가 이해하는 한, 브라우저가 토큰을 저장하지 않기 때문에 크로스 사이트 공격을 사용할 가능성이 없어야합니다 (?!). 따라서 자동으로 서버로 보낼 수 없습니다 (쿠키를 사용할 때 발생하는 일입니다.) 세션).
내가 뭔가를 놓치고 있습니까?