0
나는 스프링 MVC에서 응답 헤더에서 헤더 아래에 추가 할

의 응답 보안 헤더를 추가 :스프링 MVC 응용 프로그램

X-XSS-Protection: 1; mode=block 
X-Content-Type-Options: nosniff 

내가 WebMvcConfigurerAdapter를 확장 MvcConfig 파일에 코드를 아래에 작성했습니다.

요청을 클릭하고 브라우저의 응답 헤더를 보면이 두 헤더가 표시되지 않습니다. urlPattern에 필터를 등록 할 곳이 없습니다. 이게 문제인가 아니면 다른 것을 놓쳤는가? urlpattern 구성이 문제가 있다면 plz이 어떻게 구성하는지 그리고 어디서 구성할지 말해주십시오.

어쨌든 궁극적 인 목표는 응답 헤더에서 두 개의 보안 헤더를 얻는 것입니다.

답변

0

이 상당히 년대에 봄 보안을 사용하는 경우에만 작동합니다 스프링 프레임 워크에서 새로운 보안 헤더를 추가하는 것이 간단합니다. 가장 일반적으로 사용되는 모든 보안 heade를 여기 나열하고 있습니다. RS : -
코드는이 :
1) 먼저 지금) 새 필터

package com.mypackage; 
    import java.io.IOException; 

    import javax.servlet.FilterChain; 
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 

    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 
    import org.springframework.web.filter.OncePerRequestFilter; 

     public class AddHeaderFilter extends OncePerRequestFilter { 

      private static final Logger LOG = LoggerFactory.getLogger(AddHeaderFilter.class); 
      @Override 
      protected void doFilterInternal(HttpServletRequest request, 
              HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException { 

        response.setHeader("X-XSS-Protection", "1; mode=block"); 
        response.setHeader("Strict-Transport-Security", "max-age=31536000; includeSubDomains"); 
        response.setHeader("X-Content-Type-Options", "nosniff"); 
        response.setHeader("Cache-control", "no-store, no-cache"); 
        response.setHeader("X-Frame-Options", "DENY"); 
        response.setHeader("Set-Cookie", "XSRF-TOKEN=NDKDdfdsfkldsfNd3SZAJfwLsTl5WUgOkE; Path=/; Secure;HttpOnly"); 
        filterChain.doFilter(request, response); 

        LOG.info("Exit: AddHeaderFilter"); 


      } 

     } 


2를 정의하여 web.xml 파일이 필터를 구성 물품.

<filter> 
     <filter-name>addHeaderFilter</filter-name> 
     <filter-class>com.mypackage.AddHeaderFilter</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>addHeaderFilter</filter-name> 
     <url-pattern>/api/*</url-pattern> 
    </filter-mapping> 
전부


. 이제 API를 치고 응답을 되돌아 봅니다. 당신은 당신의 응답에서이 헤더들을 얻을 것이다. :)

관련 문제