복붙노트

[SPRING] Findbugs HTTP 매개 변수를 HTTP 헤더 출력에 직접 작성하는 방법

SPRING

Findbugs HTTP 매개 변수를 HTTP 헤더 출력에 직접 작성하는 방법

RequestFilter 클래스와 @Override 메서드 doFilterInternal 클래스가 있습니다. 그리고 헤더를 응답에 추가하면 findbugs가 HTTP 헤더 출력에 직접 쓰는 오류 HTTP 매개 변수를 표시합니다. 어떻게이 문제를 해결할 수 있습니까? 모두에게 감사드립니다.

String rqHd = request.getHeader("Access-Control-Request-Headers");    
response.addHeader("Access-Control-Allow-Headers", rqHd); // findbugs error here

해결법

  1. ==============================

    1.HRS_REQUEST_PARAMETER_TO_HTTP_HEADER 오류라고 생각합니다. 다음과 같이 수정할 수 있습니다.

    HRS_REQUEST_PARAMETER_TO_HTTP_HEADER 오류라고 생각합니다. 다음과 같이 수정할 수 있습니다.

    String rqHd = request.getHeader("Access-Control-Request-Headers"); 
    if(rqHd != null){
        String rqHeader = URLEncoder.encode(rqHd,StandardCharsets.UTF_8.displayName());   
        response.addHeader("Access-Control-Allow-Headers", rqHeader);
    }
    
  2. ==============================

    2.ETag 헤더를 설정할지 조심하십시오. ETag는 W / "myetagvalue"처럼 보입니다.

    ETag 헤더를 설정할지 조심하십시오. ETag는 W / "myetagvalue"처럼 보입니다.

    String etagHd = request.getHeader(HttpHeaders.ETAG);    
    response.addHeader(HttpHeaders.ETAG,  URLEncoder.encode(etagHd,StandardCharsets.UTF_8.displayName()); 
    

    인코딩 됨 W % 2F % 22myetagvalue % 22  조심해 !

  3. from https://stackoverflow.com/questions/31539314/how-to-fix-findbugs-http-parameter-directly-written-to-http-header-output by cc-by-sa and MIT license