swsnu / swppfall2020

28 stars 17 forks source link

[HW4] CSRF cookie not set. 에 관한 질문입니다. #162

Open snusun opened 4 years ago

snusun commented 4 years ago

다음과 같이 signup 함수에 cookie 데코레이터 함수를 사용하였는데도 불구하고 CSRF cookie not set. 이라고 뜨는데 이 방법이 잘못된 것인가요? Screenshot from 2020-10-21 00-54-51 Screenshot from 2020-10-21 00-55-04

ariadne240 commented 4 years ago

@ensure_csrf_cookie를 매 함수마다 붙여야 되나요?

Namnamseo commented 4 years ago

앗 글을 쓰고 보니 질문이 올라와 있었네요... 혹시 브라우저나 curl로 테스트 중이시라면 #164 여기 이슈를 참고해 보셔요!

저희 과제에서는 @ensure_csrf_cookie/api/token에만 붙으면 되는 것 같습니다. (이유가 조금 긴데, 이게 '헤더를 통해서 새 cookie를 발급하라'는 데코레이터이기 때문입니다. 원래는 HTML form을 그려줄 때 템플릿에 넣는데, 여기서는 form에 끼워넣을 방법이 없으므로 헤더로 보내야 합니다. 또 한 번 보내 주면 갱신할 필요가 없는 것 같습니다.) 또한 POST/PUT/DELETE 요청에는 자동으로 무조건 CSRF 검증이 들어가기 때문에(←CsrfViewMiddleware의 기능), 다른 함수에 뭔가를 추가로 직접 붙여 줄 필요는 없습니다..!

snusun commented 4 years ago

친절한 답변 감사드립니다! 많은 도움이 되었습니다!!