1. 보안과 인증
인증
: 등록된 사용자 식별
: 사용자 별 권한
보안
: 정보 노출 방지 : 암호화 통신 방법
: 정보 해독 방지 : 데이터 암호화 저장
2. 쿠키
클라이언트의 활동 추적하기
: 로그인 하지 않은 사용자가 쇼핑몰을 사용한다
: 쇼핑몰에서 상품을 장바구니에 넣으면
: 다음 쇼핑몰에 방문했을 때 장바구니는?
: 장바구니 내용을 브라우저에 기록
서버가 웹브라우저에 기록
: 상품을 장바구니에 담기
: 쿠키에 장바구니 내용 저장
웹브라우저는 쿠키 내용 전송
: 서버는 요청에서 쿠키 읽기
: 기존에 기록한 내용 확인
HTTP 메시지와 쿠키
: 서버 -> 클라이언트
: 응답 메세지에 쿠키 기록을 위한 메세지 작성
: 메시지 헤더 : Set-Cookie 필드
: 클라이언트 -> 서버
: 클라이언트의 쿠키를 서버로 전송
: 요청 메시지 헤더의 cookie
HTTP 모듈로 쿠키 다루기
: 쿠키 쓰기
: res.setHeader('Set-Cookie','name=value');
: 쿠키 읽기
: 쿠키 값 파싱 코드 필요
: req.headers.cookie // 'name = value'
Express 에서 쿠키 다루기
: 쿠키 쓰기 - Express 기본
: res.cookie(이름, 값)
: res.clearCookie(이름)
: 옵션을 통해 시간, 등등을 정함.
: 쿠키 읽기 : 쿠키 파서 모듈
: npm install cookie-parser
: 미들웨어에 쿠키파서를 넣으면됨.
: req.cookies.이름
서명 쿠키
: 쿠키 서명하기
: 쿠키 변조 방지
: 서명된 쿠키 사용하기
: 쿠키파서 설정
: 쿠키쓰기
: 쿠키 읽기
쿠키의 문제
: 메시지 크기가 커진다. 느려진다
: 다른 웹브라우저, 보안에 취약
3. 세션
: 서버에 정보 저장
: 클라이언트에는 세션 식별 정보(세션 ID)
: 세션 ID는 쿠키 사용
: 세션 모듈 : express-session
: 미들웨어에 넣는다.
: 읽고 쓰기가 간단하게 처리된다.
세션 저장
: 세션 - 서버에 기록
: 서버 재시작 -> 세션 기록 삭제
: 서버 메모리
: 서버 클러스터링
: 세션을 데이터 베이스에 저장
: Session Store 모듈
: 어디에 저장하는냐를 결정
: connect-mongo
: connect-redis
'프로그래밍 > Nodejs' 카테고리의 다른 글
보안 (0) | 2017.04.28 |
---|---|
passport를 통한 인증 (0) | 2017.04.28 |
socket.io 를 이용한 실시간 웹서비스 (0) | 2017.04.27 |
소켓을 이용한 실시간 서비스 (0) | 2017.04.27 |
Nodejs와 MongoDB (0) | 2017.04.27 |