SPRING CSRF 구현 -- JSP, SPRING



보통 SPRING에서 CSRF방어를 위해 spring-security를 이용하는데, spring 프로젝트에서 spring-security를 사용하지 않았던 프로젝트에 CSRF를 구현해야 하는 일이 있었다.

이 시점에서 spring-security를 도입하기가 어려울 경우, 아래와 같이 CSRF를 구현할 수 있었다. 간략히 말하자면 인터셉터에서 csrf 토큰을 생성하여 세션에 저장 후 view로 csrf 토큰을 전송하고, post 전송 시 csrf를 전달하여 비교하는 방식이다.

많은 설명은 참조사이트에 설명되어 있으니 확인 바란다.



- CSRFTokenManager.java
- CSRFRequestDataValueProcessor.java
- CSRFInterceptor.java


설정파일에 아래의 bean을 등록한다.

<bean name="requestDataValueProcessor" class="kr.co.xxx.common.interceptor.CSRFRequestDataValueProcessor"/>

설정파일에 아래의 interceptor를 등록한다.

<mvc:interceptors>
<mvc:interceptor> 
<mvc:mapping path="*"/>   
<bean class="com.xxx.common.interceptor.CSRFInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>


덧글

댓글 입력 영역