작성
·
289
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
gdh님, csrf 보호는 기본적으로 Spring Security의 기본 설정을 따르므로 Spring Boot에서는 기본적으로 활성화되어 있습니다. 이는 POST
(shutdown 및 loggers 엔드포인트), PUT
, 또는 DELETE
를 요구하는 액추에이터 엔드포인트가 기본 보안 구성을 사용할 때 403 (금지) 오류를 받는다는 것을 의미합니다. 만약 비브라우저 클라이언트에 의해 사용될 서비스를 생성하는 경우에만 CSRF 보호를 완전히 비활성화하는 것이 좋습니다. 따라서, ajax의 XMLHttpRequest
를 이용하여 modify.php
에서 hidden 형태의 csrf 토큰을 읽고 요청에 토큰을 담아 보내는 것은 이러한 보호 기능을 우회하기 위한 하나의 방법일 수 있지만, Spring Boot에서는 기본적으로 CSRF 보호가 활성화되어 있기 때문에, 서비스의 보안 설정을 변경하지 않는 한 쉽게 우회할 수 없습니다.
추가적으로 CSRF 보호에 대한 자세한 정보는 Spring Security Reference Guide에서 찾아볼 수 있습니다.
Spring Boot Reference Documentation v3.1.5 > 13. Production-ready Features > 13.2. Endpoints > 13.2.3. Security > Cross Site Request Forgery Protection에서 더 자세히 확인하실 수 있습니다.