spring security csrf 문제로 문의드립니다
- 작성자 :
- 이*희
- 작성일 :
- 2023-03-17 16:32:42
- 조회수 :
- 78
- 구분 :
- 실행환경 / 3.10
- 진행상태 :
- 완료
Q
현재 egov3.2에서 egov3.10으로 업그레이드 하여 웹 서비스를 하고 있습니다
spring security 4 이상에서 csrf를 사용하는 것을 권장하여, 시큐리티 설정파일에서 csrf disable: false 상태로 설정하여 csrf를 사용하고 있습니다
(로그인 및 post 요청시 csrf 토큰 사용, form 태그 및 ajax의 beforeSend 메소드 사용)
문의 사항은 로그인, 로그아웃이나 post 요청을 사용하는 모든 기능에서 현재 사용중인 브라우저의 캐시를 지우거나,
기존 창에서 로그인 후에 추가적인 새탭, 새창에서 로그아웃을 시도하면 500에러가 발생합니다
csrf가 유지되지 않아 발생하는 문제로 파악됩니다.
혹시 csrf 토큰을 유지하는 방법이나 예외처리하는 방법이 있는지 궁금합니다 .
spring security 4 이상에서 csrf를 사용하는 것을 권장하여, 시큐리티 설정파일에서 csrf disable: false 상태로 설정하여 csrf를 사용하고 있습니다
(로그인 및 post 요청시 csrf 토큰 사용, form 태그 및 ajax의 beforeSend 메소드 사용)
문의 사항은 로그인, 로그아웃이나 post 요청을 사용하는 모든 기능에서 현재 사용중인 브라우저의 캐시를 지우거나,
기존 창에서 로그인 후에 추가적인 새탭, 새창에서 로그아웃을 시도하면 500에러가 발생합니다
csrf가 유지되지 않아 발생하는 문제로 파악됩니다.
혹시 csrf 토큰을 유지하는 방법이나 예외처리하는 방법이 있는지 궁금합니다 .
환경정보
-
- OS 정보 : window10
- 표준프레임워크 버전 :3.10
- JDK(JRE) 정보 : 1.8
- WAS 정보 : jeus7
- DB 정보 : oracle19c
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
CSRF를 방지 하기 위하여
서버에서 CSRF 토큰을 발행하게 되고
브라우저에서는 이 CSRF 토큰으로 요청하여
유효한 요청을 서버에서 검증하게 됩니다.
문의 내용에 기재하신 상태들은
토큰을 분실하는 조건이 될수 있습니다.
따라서
이 경우 서버에서는 CSRF 토큰을 검증할수 없기 때문에
해당 문제가 발생할수 있습니다.
세션 만료 또는 삭제에 의한 csrf 토큰을 조회하지 못하는 것에 관련하여서는
다음 스프링 공식 문서를 참고하실 수 있을 듯 합니다.
https://docs.spring.io/spring-security/reference/features/exploits/csrf.html#csrf-considerations-timeouts
감사합니다.
표준프레임워크 센터입니다.
CSRF를 방지 하기 위하여
서버에서 CSRF 토큰을 발행하게 되고
브라우저에서는 이 CSRF 토큰으로 요청하여
유효한 요청을 서버에서 검증하게 됩니다.
문의 내용에 기재하신 상태들은
토큰을 분실하는 조건이 될수 있습니다.
따라서
이 경우 서버에서는 CSRF 토큰을 검증할수 없기 때문에
해당 문제가 발생할수 있습니다.
세션 만료 또는 삭제에 의한 csrf 토큰을 조회하지 못하는 것에 관련하여서는
다음 스프링 공식 문서를 참고하실 수 있을 듯 합니다.
https://docs.spring.io/spring-security/reference/features/exploits/csrf.html#csrf-considerations-timeouts
감사합니다.