리셋 되지 말자

[NodeJS] Secure 와 HttpOnly 본문

NodeJS/생활코딩

[NodeJS] Secure 와 HttpOnly

kyeongjun-dev 2020. 9. 25. 17:18

예제코드

var http = require('http');
var cookie = require('cookie');

var app = http.createServer(function (request, response) {
    if (request.headers.cookie != undefined) {
        console.log(cookie.parse(request.headers.cookie));
    }
    response.writeHead(200, {
        'Set-Cookie': ['yummy_cookie=choco', 
        'tasty_cooke=strawberry',
        `Permanent1=cookies; Expires=Wed, 21 Oct 2021 07:28:00`,
        `Permanent2=cookies; Max-Age=${60*60*24}`,
        `Secure-cookie=Secure-description; Secure`,
        `HttpOnly=HttpOnly; HttpOnly`]
    });
    response.end('hello world');
});

app.listen(80);

session쿠키 두개, Permanent 쿠키 두개 다음에 쿠키 두개를 추가한 코드이다. 하나는 쌍따옴표뒤에 Secure라는 옵션이 있고, 마지막 하나는 HttpOnly라는 옵션이 있다.

Secure

Secure옵션을 주게되면, 웹브라우저가 request를 할 때, https인 상태에서만 요청을 보내도록 한다.

웹서버에서 Response로 보내준 Secure-cookie가 있지만, Request Cookies에는 해당 쿠키가 보이지 않는다.

 

HttpOnly

크롬 브라우저 콘솔창에서 document.cookie를 입력하면, 쿠키들의 목록이 나오는데 HttpOnly쿠키는 표시되지 않는다. 이는 데이터를 http 통신을 할 때만 쿠키를 가져올 수 있도록 하는 옵션이다. 자바스크립트로 쿠키를 가져올 수 없게 한다.

'NodeJS > 생활코딩' 카테고리의 다른 글

[NodeJS] 쿠키를 이용한 기능 구현  (0) 2020.09.25
[NodeJS] Path 와 Domain  (0) 2020.09.25
[NodeJS] Session cookie와 Permanent cookie  (0) 2020.09.25
[NodeJS] 쿠키 읽기  (0) 2020.09.25
[NodeJS] 쿠키의 생성  (0) 2020.09.25
Comments