pom.xml

		<dependency>
			<groupId>com.navercorp.lucy</groupId>
			<artifactId>lucy-xss-servlet</artifactId>
			<version>2.0.0</version>
		</dependency>

 

/resources 하위에 lucy-xss-servlet-filter-rule.xml 생성

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://www.navercorp.com/lucy-xss-servlet">
   <defenders>
       <!-- XssPreventer 등록 -->
       <defender>
           <name>xssPreventerDefender</name>
           <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssPreventerDefender</class>
       </defender>
 
       <!-- XssSaxFilter 등록 -->
       <defender>
           <name>xssSaxFilterDefender</name>
           <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssSaxFilterDefender</class>
           <init-param>
               <param-value>lucy-xss-sax.xml</param-value>   <!-- lucy-xss-filter의 sax용 설정파일 -->
               <param-value>false</param-value>        <!-- 필터링된 코멘트를 남길지 여부, 성능 효율상 false 추천 -->
           </init-param>
       </defender>
 
       <!-- XssFilter 등록 -->
       <defender>
           <name>xssFilterDefender</name>
           <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssFilterDefender</class>
           <init-param>
               <param-value>lucy-xss.xml</param-value>    <!-- lucy-xss-filter의 dom용 설정파일 -->
               <param-value>false</param-value>         <!-- 필터링된 코멘트를 남길지 여부, 성능 효율상 false 추천 -->
           </init-param>
       </defender>
   </defenders>
 
    <!-- default defender 선언, 별다른 defender 선언이 없으면 default defender를 사용해 필터링 한다. -->
    <default>
        <defender>xssPreventerDefender</defender>
    </default>
 
    <!-- global 필터링 룰 선언 -->
    <global>
        <!-- 모든 url에서 들어오는 globalParameter 파라메터는 필터링 되지 않으며 
                또한 globalPrefixParameter로 시작하는 파라메터도 필터링 되지 않는다. -->
        <params>
            <param name="globalParameter" useDefender="false" />
            <param name="globalPrefixParameter" usePrefix="true" useDefender="false" />
        </params>
    </global>
 
    <!-- url 별 필터링 룰 선언 -->
    <url-rule-set>
       
       <!-- url disable이 true이면 지정한 url 내의 모든 파라메터는 필터링 되지 않는다. -->
       <url-rule>
           <url disable="true">/disableUrl1.do</url>
       </url-rule>
       
        <!-- url1 내의 url1Parameter는 필터링 되지 않으며 또한 url1PrefixParameter로 시작하는 파라메터도 필터링 되지 않는다. -->
        <!-- <url-rule>
            <url>[처리하는 url].do</url>
            <params>
                <param name="[파라미터명]" useDefender="false" />
            </params>
        </url-rule> -->
        
    </url-rule-set>
</config>

 

web.xml 에 encodingFilter 항목을 찾아서

 <filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>*.do</url-pattern> 
  </filter-mapping>

다음에 추가해줌.

    <filter>
		<filter-name>multipartFilter</filter-name>
		<filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>multipartFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<filter> 
		<filter-name>xssEscapeServletFilter</filter-name> 
		<filter-class>com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilter</filter-class> 
	</filter> 
	<filter-mapping> 
		<filter-name>xssEscapeServletFilter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping>
  <filter>

 

tomcat 서버에서 server.xml 에  allowCasualMultipartParsing="true" 를 추가해줌.

 <Context docBase="ProjectName" path="/" allowCasualMultipartParsing="true" reloadable="true" source="org.eclipse.jst.jee.server:ProjectName"/></Host>

 

tomcat 서버 context.xml 에 추가하는 방식도 있다고 함.

<Context allowCasualMultipartParsing="true">
<Context allowCasualMultipartParsing="true" path="/">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>			
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>	
</Context>​

서버 재시작.

잘 안되서 프로젝트 클린 - 톰캣 클린 - 이클립스 재시작 하니까 됐다.

'개발자 > spring' 카테고리의 다른 글

[spring boot] SchedulerLock - 톰캣 스케줄러 중복 동작 방지  (0) 2021.08.26
XSS JSON  (0) 2021.06.16

+ Recent posts