Secure & HttpOnly

YoonJu Lee·2021년 7월 30일
0

WHAT IS... Secure & HttpOnly

https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies

1. "Secure=Secure; Secure", // 해설>> 일반적인) 쿠키의 이름=값; [진짜 중요한 부분!!]

  • 코드 추가
        "Secure=Secure; Secure",

  • 현재 통신을 할 떄, http를 쓰기 때문
  • MDN 사이트 로그인 되어 있는 상태일 때,
    session ID 값을 납치하면 해킹을 할 수 있다.
    그러므로, https가 아닌, http로 접근을 하면 sessionID를 쉽게 가져갈 수 있으므로, 보안 처리 한다.

2. "HttpOnly=HttpOnly; HttpOnly",

  • 코드 추가
        "HttpOnly=HttpOnly; HttpOnly",
  • 이렇게 추가하면, console창에 자바스크립트 언어로 웹브라우저를 제어한다. 쿠키가 화면처럼 생겼고, 콘솔에 cookie를 치면 화면처럼, HttpOnly를 보면, flag값이 지정되어 있고, 이렇게 flag가 지정되어 있으면 자바스크립트 눈에는 보이지 않는다.
  • 이 역시도 자바스크립트를 이용하여 쿠키를 훔쳐 session과 같이 중요한 data를 해킹 하는 것을 막는 것.

3.전체 코드

var http = require("http");
var cookie = require("cookie");
http
  .createServer(function (request, response) {
    console.log(request.headers.cookie);
    var cookies = {};
    if (request.headers.cookie !== undefined) {
      cookies = cookie.parse(request.headers.cookie);
    }
    console.log(cookies.yummy_cookie);
    response.writeHead(200, {
      "Set-Cookie": [
        "yummy_cookie=choco",
        "tasty_cookie=strawberry",
        `Permanent=cookies; Max-Age=${60 * 60 * 24 * 30}`,
        "Secure=Secure; Secure", // 해설>> 일반적인) 쿠키의 이름=값; [진짜 중요한 부분!!]
        "HttpOnly=HttpOnly; HttpOnly",
      ],
    });
    response.end("Cookie!!");
  })
  .listen(3030);
profile
Coder가 아닌 Engineer를 향해서.

0개의 댓글