소개
로드맵
전체1게시글
질문&답변
2024.06.28
로그인에 성공했는데 권한 거부와 함께 push 가 안됩니다.
(사진)(사진) 레지스트리계정명확인을 안해서 안된 문제였습니다..! 해결했습니다 ㅠㅠ
- 1
- 2
- 151
질문&답변
2024.06.14
인스턴스 생성했는데 퍼블릭 IPv4 주소가 없어요 ㅠ
(사진)위 그림처럼 EC2 인스턴스 연결에 들어가면 메시지가 나오고 있습니다..!
- 0
- 2
- 241
질문&답변
2024.05.01
/api/member/login 404 에러 질문 드립니다.
문제 해결 됐습니다! 강의에서 말씀해주시는 것처럼 log 를 통해서 해당 인증에 접근이 성공한다면 저처럼 실습 내용과 약간 다르더라도, 인증 성공/실패 핸들러까지 구현된다면 정상적으로 모두 잘 출력됩니다 ㅎㅎ 왜 안됐는지 정확한 원인은 못 찾았습니다. 하지만 log 를 통해서 각 인증에 접근하고 출력된 결과를 통해서 정상적으로 동작된 것은 확인되고, 계속 강의 진도 나가시면 포스트맨에서 회원 정보도 정상적으로 출력됩니다! 바쁘실텐데 끝까지 해결해주기 위해서 도와주셔서 정말 감사합니다! ㅠㅠㅠ 계속 도와주셔서 정상적인 실행까지 볼 수 있었습니다. 감사합니다!
- 0
- 5
- 375
질문&답변
2024.04.30
csrf disable 의 대안책에 대해 질문드립니다.
csrf 를 disable 으로 설정의 대안으로 JWT 토큰을 활용이 적절한 지에 대한 답변 해결 했습니다! 지금 실습 강의 환경처럼 RESTful API 방식인 경우에는 CSRF 토큰 사용하는 것으로 찾았습니다. CSRF 토큰 사용 방식은 API 요청의 헤더에 포함하게 되고, CSRF 토큰을 검증하여 보호하는 것으로 확인했습니다. CSRF 토큰 사용 스프링 시큐리티에 의해 자동적으로 모든 POST 요청은 CSRF 토큰을 자동으로 생성하고 삽입이 되고, 일반적으로 세션에 저장되며, 요청이 수행될 때마다 토큰을 검증하여 요청이 유효한 지 확인하는 것으로 확인했습니다. 크게 HTTP 헤더, 쿠키, 응답 본문 안에 CSRF 토큰을 포함하여 전송하는 세 가지 방식이 있다는 것으로 학습했습니다. 그 중에서 HTTP 헤더 방식이 가장 일반적인 방식으로 다음과 같이 수행되는 것으로 학습했습니다. HTTP 헤더 백엔드에서 생성된 CSRF 토큰을 HTTP 응답 헤더에 포함하여 클라이언트에게 전달 프론트엔드는 이 헤더에서 토큰을 읽어와서 API 요청을 할 때 요청 헤더에 포함 가장 일반적인 방법으로 스프링 시큐리티에 의해 기본적으로 CSRF 토큰을 HTTP 응답의 헤더에 포함하여 전달 서버에서 CSRF 토큰을 HTTP 응답 헤더에 포함시키는 코드 (스프링 시큐리티) import org.springframework.security.web.csrf.CsrfToken; // CSRF 토큰 생성 후 응답 헤더에 추가 @GetMapping("/csrf-token") public void getCsrfToken(HttpServletRequest request, HttpServletResponse response) { CsrfToken csrfToken = (CsrfToken) request.getAttribute(CsrfToken.class.getName()); if (csrfToken != null) { Cookie cookie = WebUtils.getCookie(request, "XSRF-TOKEN"); String token = csrfToken.getToken(); if (cookie == null || token != null && !token.equals(cookie.getValue())) { cookie = new Cookie("XSRF-TOKEN", token); cookie.setPath("/"); response.addCookie(cookie); } } } JWT 으로 CSRF 막을 수 없다. 그리고 JWT 를 사용하더라도 CSRF 공격을 방어하기 위해 별도의 조치는 필요하다고 찾았습니다. JWT는 토큰에 사용자 정보를 포함시키는 방식으로 인증을 수행하며, 보통 HTTP의 인증 헤더에 토큰을 포함시켜 API 요청을 보냅니다. (강의 내용처럼 액세스 토큰과 리프레시 토큰이 해당됩니다.) 그러나 JWT 자체는 CSRF 공격으로부터 보호되지 않습니다. CSRF 공격은 공격자가 피해자의 세션과 인증 쿠키를 이용하여 악의적인 요청을 보내는 것을 이용하는데, JWT는 세션과 쿠키가 아닌 다른 저장소(일반적으로는 클라이언트의 localStorage나 sessionStorage)에 저장됩니다. 그러므로 CSRF 공격은 기본적으로 JWT에 직접적인 영향을 미치지 않습니다. 스프링 시큐리티에 세션(Session)은 기본적으로 서버의 메모리에 세션을 저장합니다. 쿠키(Cookie) 클라이언트 측에 저장되며, 일반적으로 브라우저의 쿠키 저장소에 저장됩니다. 스프링 시큐리티에서는 인증 쿠키와 세션 쿠키 두 개를 다루고 있습니다. 인증 쿠키 : 스프링 시큐리티를 사용하여 사용자를 인증할 때, 일반적으로 사용자의 인증 상태를 나타내는 토큰(예: JWT, 인증 세션 ID 등)을 쿠키에 저장합니다. 이 인증 쿠키는 클라이언트에 의해 저장되고, 인증된 사용자가 다음 요청을 보낼 때마다 함께 서버로 전송됩니다. 세션 쿠키 : 스프링 시큐리티는 세션을 서버에 저장하고, 클라이언트에는 세션 식별자를 담은 쿠키를 보낼 수 있습니다. 이 세션 쿠키는 클라이언트가 서버로 요청을 보낼 때마다 함께 전송되고, 서버는 이를 사용하여 세션을 식별하고 관리합니다.
- 0
- 1
- 326
질문&답변
2023.08.18
script setup 태그 유무에 따라서 페이지 출력이 안됩니다.
엇 헬퍼 클래스로 실습 나아가면서 수정 없이 다시 들어가보니까 실행이 됩니다;;; 왜 이런 경우가 발생하는 거죠..?
- 0
- 3
- 337