전자정부프레임워크에서 XSS방지를 하려면 간단하게 HtmlTagFilter를 적용하면 된다.

하지만 해당 필터는 multipart form에서는 적용 안된다는게 함정

그래서 multipart filter를 적용해야 multipart form에서도 XSS 방지를 적용할수 있다.

간단히 multipartfilter를 필터부분에 적용해주면 된다.

//web.xml
<filter>
    <filter-name>multipartFilter</filter-name>
    <filter-class>
        org.springframework.web.multipart.support.MultipartFilter
    </filter-class>
    <init-param>
        <param-name>multipartResolverBeanName</param-name>
        <param-value>multipartResolver</param-value>
    </init-param>
</filter>
 
<filter-mapping>
    <filter-name>multipartFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

해당 multipart filter를 추가했다고 해서 기존 xss 필터를 빼면 동작하지 않는다.

그리고 적용 후 글자가 깨지는 현상이 있을수도 있으니 encoding filter 를 적절한곳게 같이 작성해줘야한다.

xssEscapeServletFilter

deviceResolverRequestFilter

responseHeaderFilter

springSecurityFilterChain

contextConfigLocation