[TIL] 항해99 Day 23

woonie·2022년 2월 1일
0

TIL

목록 보기
20/64
post-thumbnail

항해 23일차

명절이지만... 우리는 명절 없이 달린다.
개인 프로젝트 진행 중 게시물을 작성하는 post 방식에서 계속해서 오류가 발생했다.

There was an unexpected error (type=Method Not Allowed, status=405). Request method 'POST' not supported

또 열심히 구글링을 해가며 해답을 찾아갔다.
" @PostMapping annotation이 빠져있을 경우, 주고받는 방식이 맞지 않아서(예로 보낼때는 POST로 전송하지만 GET방식으로 받게 설정되있는지) 위와 같은 에러가 발생한다고 한다.

하지만 모든 경우를 체크해보았지만 모두 잘 연결되어 있었고 내가 봤을때 이상한 점이 전혀 없었다. 열심히 아주 열심히 삽질?을 하던 중 혹시 저번처럼 Security에 문제가 있지 않을까 했다.
역시나 문제가 없었다..하지만 검색중에 csrf라는걸 알게되었다.
Cross site Request forgery로 사이트간 위조 요청인데, 즉 정상적인 사용자가 의도치 않은 위조요청을 보내는 것을 의미한다. 상태를 변화시킬 수 있는 POST, PUT, DELETE 요청으로부터 보호하고 csrf protection을 적용하였을 때, html에서 아래와 같은 csrf 토큰이 포함되어야 요청을 받아들여 위조 요청을 방지한다고 한다.

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

다른 방법은 security에서 아래와 같이 해당 url을 추가해줬다.

http.csrf().ignoringAntMatchers("/posts/post")

profile
동료들과 함께하는 개발의 중요성에 관심이 많습니다. 언제나 호기심을 갖고 꾸준히 노력하는 개발자로서 성장하고 있습니다.

0개의 댓글