• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

로그아웃시 post를 쓰는이유

23.02.05 15:40 작성 조회수 411

0

get대신 post를 쓰는이유가 다음과 같다는것을 알게됐습니다.

  • CSRF공격에 GET이 취약하기때문

  • prefetch라는 기술때문에 강제 로그아웃이 될수있다. prefetch란 사용자가 클릭할 가능성이 있는 링크를 가정하여 미리 가져와 페이지 로딩 시간을 줄이는 기술이다. 근데 만약에 로그아웃에 대해서도 적용이된다면 강제 로그아웃이 될수있다.

 

  1. 왜 get요청은 csrf공격에 취약한가요?

  2. prefetch는 post요청에 대해서는 처리하지않나요?

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

2023.02.06

안녕하세요, jjc5524 님! 공식 서포터즈 codesweaver 입니다.

1. CSRF공격은 GET, POST 상관없이 가능합니다. 대체로 GET은 데이터를 조회하는 기능이며 민감한 처리를 담당하지는 않기에(등록, 수정, 삭제 등) 보안 관리에 허술할 가능성은 있습니다.

2 prefetch는 브라우저마다 구현이 다를 수 있으나, MDN 정의를 보면, A 태그도 경우에 따라 prefetch 대상이 될 수 있다고 언급하고 있습니다. 만약 로그아웃을 get 방식으로 구현한다면 원치 않는 로그아웃이 발생할 수 있습니다.

또, prefetch 대상은 대체로 <link>로 정의한 부분 혹은 HTTP 헤더에 정의한 링크를 사용한다고 설명하고 있네요.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ


감사합니다.