SPRING CSRF 구현

-- JSP, SPRING 2020. 4. 8. 13:12
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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

 

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

 

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

 

 

CSRF.zip
0.00MB

 

- 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>

 

참조 : https://openeg.co.kr/384

posted by 어린왕자악꿍