get 요청으로 민감한 정보를 가져오는경우
안녕하세요 기선님 항상 좋은 강의 감사합니다 !! :)
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 문서도 읽어보시는게 선행되었다면 좋았겠네요.
커스텀 로그인 페이지를 등록할 경우 LogoutFilter의 등록 여부 질문
0
383
1
anonymousClass를 사용하는 이유
0
387
1
ExcpetionTranslationFilter가 FilterSecurityInterceptor에서 발생하는 예외만 처리하는 이유
0
242
1
Principal 인터페이스와 User 클래스의 관계
0
756
1
passwordEncoder 질문드립니다.
0
320
1
WebSecurityConfigurerAdapter is deprecated 가 불편하신 분들을 위해
6
864
1
왜 스프링은 userid가 아니고 username을 사용했을까요?
0
1022
1
무상태성
0
346
2
로그인 후 로그인 페이지 접속
0
282
1
AuthenticationException은 어떤 경우에 발생하는지
0
556
1
AccountService에 비밀번호
1
224
1
커스텀 어노테이션 의 `커스텀 value` 설정방법에 관한 질문입니다.
0
356
1
passwordEncoder 빈 생성 시 차이
0
252
1
Bean 등록 관련 질문입니다.
0
247
1
시큐리티 전략관련
0
354
3
브라우저 기반 요청이 클라이언트의 요청을 처리 -> 의 의미?
0
228
1
AccountControllerTest 실행오류
0
1066
1
알려주신대로 설정을 해도 다시 302요청을 보냅니다....
0
342
1
voter에 대해 질문이 있습니다.
0
225
1
제가 맞게 이해한것인지 궁금합니다.
1
233
1
Spring security test 수행시 @AuthenticationPrincipal 가 null 로 세팅됨
0
548
1
Spring security Multi 인증 문의드려요
0
287
1
ProviderManager 문의
0
267
1
UserDetailsService 가 DaoAuthenticationProvider 에 어떻게 주입 되는지 알 수 있을 까요?
0
326
1





