*Django 개발 중 postman 요청 전송 시 나오는 에러
1. CSRF란?
csrf는 Cross-site request forgery, 풀어서 설명하면 사이트 간 요청 위조이다.
공격자가 희생자의 권한을 도용하여 특정 웹 사이트의 기능을 실행하게 할 수 있으며 이는 희생자의 의도와는 무관하게 이루어진다.
이로 인해 희생자가 의도하지 않은 행동이 실행된다.
2. 문제 원인
위와 같은 웹 취약점을 막고 보안을 위해 장고는 CSRF 보호 메커니즘을 가지고 있다.
만약 유저의 권한이 필요 없는 웹을 만들었다면 아예 이를 빼버리는 방법도 존재한다.(본 포스팅에서는 다루지 않음)
또 다른 방법으로는 x-csrftoken을 받아와 헤더에 키로 전송하여 원하는 요청을 성공시키는 것이다.
하지만 이를 매번 수행할 수 없으니 자동화해주겠다!
3. 해결방법
1) csrftoken값 받아오기
var xsrfCookie = postman.getResponseCookie("csrftoken");
postman.setGlobalVariable('csrftoken', xsrfCookie.value);
2) header에 추가
위와 같이 설정해 주면 이제 해당 에러는 나오지 않게 된다!
끝~!
참고 및 출처:
https://han-py.tistory.com/352
https://tibetsandfox.tistory.com/11
'👩💻 개발 > 💡SOFTWARE' 카테고리의 다른 글
[Redis] Redis란? (0) | 2022.12.26 |
---|---|
[Postman] Token 값 자동 갱신 (0) | 2022.12.02 |
[ngrok] localhost를 https로 접속하는 방법 (1) | 2022.07.28 |