node.js cookies

쿠키(클라이언트 로컬에 저장되는 키와 값) - 클라이언트 파일로 저장

1. 쿠키를 사용해보자

[관련내용]

  1. http://expressjs.com/ko/4x/api.html#req.cookies

  2. https://www.npmjs.com/package/cookie-parser

1
npm install cookie-parser --save

package.json확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var express = require('express');

var app = express();
var cookieParser = require('cookie-parser');
app.use(cookieParser());

app.get('/cnt', function(req,res){
res.cookie('cnt', 1)
res.send('cnt : ' + req.cookies.cnt );
})

app.listen(3005, function () {
console.log('app listening on port 3005!');
});

위의 코드 작성 후 실행

  1. localhost:3005/cnt
  2. chrome 기준-> 개발자도구->network->cnt click-> header 정보에서 Set-Cookies 확인

2. cookie에 담겨있는 cnt 값을 올려보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var express = require('express');

var app = express();
var cookieParser = require('cookie-parser');
app.use(cookieParser());

app.get('/cnt', function(req,res){
if(req.cookies.cnt){
var cnt = parseInt(req.cookies.cnt);
}else{
var cnt = 0;
}

cnt++;
res.cookie('cnt', cnt)
res.send('cnt : ' + cnt );
})

app.listen(3005, function () {
console.log('app listening on port 3005!');
});

3.cnt 쿠기 값을 암호화해보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
app.use(cookieParser('supserljksdg#23423'));


app.get('/cnt', function(req,res){
if(req.signedCookies.cnt){
var cnt = parseInt(req.signedCookies.cnt);
}else{
var cnt = 0;
}

cnt++;
res.cookie('cnt', cnt, {signed:true});
res.send('cnt : ' + cnt );
});

위와같이 변경
똑같은 방법으로 cnt를 확인하게 되면 숫자가 아닌 암호화된 값을 확인 할수 있다.