-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
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