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

+ Recent posts