Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 디비버
- dbeaver
- 브로드캐스트
- Decapsulation
- springboot
- 오름차순
- 도커권한설정
- instancenotfoundexception
- 리눅스환경
- wan
- 백준1946
- 페이로드
- name=springapplication
- 도커
- 모래시계출력
- jmx
- 리눅스계열
- 포트포워딩 안될때
- ubuntu
- 네트워크모델
- 유니캐스트
- docker
- 우분투
- 배열최소값최대값
- 백준
- javax.management.instancenotfoundexception: org.springframework.boot:type=admin
- 포트포워딩
- SpringApplication
- 배열복사
- 배열빈도수
Archives
- Today
- Total
다잘하고싶어
[Spring] 로그인구현3_쿠키 활용 시 발생하는 문제 본문
쿠키를 사용하면 보안 상 심각한 문제가 발생할 수 있다.
1. 쿠키값은 임의로 변경될 수 있다.
회원1 과 회원2 로 회원가입 한 후,
회원1로 로그인한다.
이때, application 에서 memberId 의 value값을 임의로 5로 변경하면?
변경 후 새로고침하면?
쿠키값은 서버에서 클라이언트에게 보내주는 값이기 때문에
위변조가 가능하다!! 매우 위험함.
2. 쿠키에 보관된 정보는 훔쳐갈 수 있다.
만약 쿠키에 중요한 개인정보나 신용카드 정보와 같은 것이 들어있다면?
이 정보는 웹브라우저에도 보관되고, 네트워크 요청마다 계속 클라이언트에서 서버로 전달된다.
3. 해커가 쿠키를 한번 훔쳐가면 평생 사용할 수 있다.
악의적인 요청을 계속 시도 가능하다.
대안
- 쿠키에 중요한 값을 노출하지 않고, 사용자별로 예측 불가능한 임의의 토큰을 노출하고, 서버에서 토큰과 사용자 id를 매핑해서 인식한다. 그리고 서버에서 토큰을 관리한다. (예측 불가능한 임의의 토큰? : 예를 들어 1,2,.. 이렇게 설정하면 그 다음은 3임을 짐작가능)
- 토큰이 유출되더라도 시간이 지나면 사용할 수 없도록 토큰 만료 시간을 설정해야한다. 또는 해킹이 의심되는 경우 서버에서 해당토큰을 강제로 제거하면 된다.
-> 이 모든 문제를 한번에 해결할 수 있는 것이 서버와 세션
2022.10.07 - [SRPING] - [Spring] 로그인구현4_세션 사용하는 이유
Reference : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의
웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있
www.inflearn.com
강의 듣고 내용 정리중
'이론학습 > SRPING' 카테고리의 다른 글
[Spring] 로그인구현6_서블릿HTTP 세션, 스프링이 제공하는 SessionAttribute (0) | 2022.10.08 |
---|---|
[Spring] 로그인구현5_세션 직접 구현하고 적용하기 (0) | 2022.10.07 |
[Spring] 로그인구현4_세션 사용하는 이유 (0) | 2022.10.07 |
[Spring] 로그인구현2_쿠키 활용 (0) | 2022.10.07 |
더티체킹 Dirty Checking (0) | 2022.09.22 |