CSRF Token이란

    CSRF Token이란

    CSRF Token은 임의의 난수를 생성하고 세션에 저장한다.

    그리고 사용자의 매 요청마다 해당 난수 값을 포함시켜서 전송시킨다.

    이후 백엔드에서는 요청을 받을 때 마다 세션에 저장된 토큰값과 요청 파라미터에 전달된 토큰 값이 같은지 검사한다.

     

    💡 전제조건 : 롤에 따라 메뉴 구성을 다르게 한다. 롤과 메뉴를 매핑하는 테이블이 별도로 구성되어 있다. 

    롤을 가져와야 메뉴를 구성할 수 있기 때문에 로그인 할 때 권한 리스트를 가져와서 세션 정보에 넣어놓는다.

     

    header.jsp는 세션이 유효한 접근인지를 파악하기 위함 → 왜? 보안을 위해서

    단, 최초 접속화면만 곧바로 통과시킨다.

    → 로그인을 하지 않은 상태에서 url만으로 main페이지에 접근하려고 하면 session이 생기지 않은 상태기이 때문에 header.jsp가 url로만 요청했을 경우 이를 감지하고 errorPage로 넘김

     

    왜?

    브라우저는 현재있는 페이지에서 다음 페이지로 이동하게 되면 자바스크립트 객체를 소멸시켜버린다. 따라서 session에 필요한 정보들을 담아야함.

    따라서 최초로 로그인 성공하면 session에 정보를 저장해야함

    HTTP는 TCP/IP 윗단에 있기 때문에 HTTP에서 작업하면 아래에서는 TCP/IP에서는 3way-handshake가 이뤄진다.

     

    서버에서 이전 요청에 의한 키값과 현재 가지고 있는 키값을 비교후 다르다면 reject 시킴

    → 보안을 위해서

    CSRF 토큰 : HEADER[MD_DATA_LIST]

    728x90

    '📓 Study > CS' 카테고리의 다른 글

    OSI 7 참조 모델  (0) 2022.10.15
    기억장치  (0) 2021.11.04
    트랜잭션  (0) 2021.10.29
    집계 함수  (0) 2021.09.28
    프로토콜  (0) 2021.09.27

    댓글