• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Spring 게시판 csrf 질문

csrf 질문

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #133546

    CHAEYULL
    참가자
    안녕하세요
    csrf 관련해서 몇가지 질문드립니다.
    
    1. 강의에서는 CsrfTokenRepository 를 Bean으로 생성해서 사용하시던데 그냥 
    http.csrf().csrfTokenRepository(new HttpSessionCsrfTokenRepository()); 으로 안하신 이유가 있나요?
    
    2.  CsrfTokenRepository 를 상속받는 클래스들이 HttpSessionCsrfTokenRepository 말고도 CookieCsrfTokenRepository 가 있던데 두가지를 어떤 기준으로 사용하면 될까요?
    
    3. 요청한번이 끝나면 CsrfToken을 갱신해주고 싶은데 Filter로 구현하는게 맞을까요, Interceptor로 구현하는것이 맞을까요?
    
    이렇게 3가지 질문드립니다 
    감사합니다.
    
    
    #133557

    codingapple
    키 마스터
    아마 일부 프론트엔드 라이브러리에서 X-XSRF-TOKEN 이런 헤더이름을 요구해서 설정해뒀을걸요 
    토큰을 쿠키에 저장해서 stateless하게 쓰고 싶으면 Cookie어쩌구를 씁시다
    인증관련한건 필터에 보통 넣는듯요
    #133586

    CHAEYULL
    참가자
    답변 감사합니다.
    
    csrf 기능들을 구현을 해봤는데 여기서 제가 개발자 도구에서 쿠키값을 마음대로 바꿨을 때 제 예상대로라면 403 에러가 발생해야하는데 405 에러가 발생을 하더라고요
    405 에러가 나는 이유랑 해결 방법 좀 부탁드립니다 ㅠ 
    //SecurityConfig.java
    http.csrf().csrfTokenRepository(new CookieCsrfTokenRepository());
    
    //rootLayout.html
    <meta name="_csrf" th:content="${_csrf.token}"/>
    <meta name="_csrf_header" th:content="${_csrf.headerName}">
    
    //global.js
    
    $(document).ready(function (){
        $.ajaxSetup(
           {
              global: true,
              beforeSend: function (xhr){
                 const header = $("meta[name='_csrf_header']").attr("content");
                 const token = $("meta[name='_csrf']").attr("content");
                 xhr.setRequestHeader(header, token)
              }
           });
    });
    
    • 이 답변은 CHAEYULL에 의해 6 월, 3 주 전에 수정됐습니다.
    #133594

    codingapple
    키 마스터
    Cookie 어쩌구 쓰는 경우에는 자바스크립트에서 document.cookie에 토큰값이 들어있을걸요 쿠키 출력해봅시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠