• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

get 요청으로 민감한 정보를 가져오는경우

20.12.21 15:16 작성 조회수 210

0

안녕하세요 기선님 항상 좋은 강의 감사합니다 !! :) 

Http get 요청으로 민감한 정보를 가져오는 경우에 보안을 위해 get 요청에도 csrf 토큰값을 확인하는 과정을 거치고 싶다면.. 

CsrfFIlter 의 코드를 추적해보니 

private static final class DefaultRequiresCsrfMatcher implements RequestMatcher {

private final HashSet<String> allowedMethods = new HashSet<>(Arrays.asList("GET", "HEAD", "TRACE", "OPTIONS"));

@Override
public boolean matches(HttpServletRequest request) {
return !this.allowedMethods.contains(request.getMethod());
}

@Override
public String toString() {
return "CsrfNotRequired " + this.allowedMethods;
}
}

이렇게  DefaultRequiresCsrfMatcher 를 사용해 GET, HEAD, TRACE, OPTIONS 요청인 경우에는 다른 도메인에서 온 요청에도 응답을 해주는 설정을 하는거 같고, 이 부분을 수정하면 될거같은데 시큐리티 설정 클래스에서

http.csrf().requireCsrfProtectionMatcher()

다음과 같은 방법으로 수정하면 되는게 맞을까요? 

 

답변 2

·

답변을 작성해보세요.

1

GET으로 보안에 민감한 데이터를 받아오는 일은 부적절합니다. POST나 PUT을 사용해야 하는 것이 보다 HTTP 스팩에 어울립니다.

그리고 이렇게 설정을 하면 되는지 안되는지 물어보셨는데 질문하시기 전에 본인이 직접 해보시거나 API 문서도 읽어보시는게 선행되었다면 좋았겠네요.

0

jaden님의 프로필

jaden

질문자

2020.12.22

네 알겠습니다! 감사합니다