관리 메뉴

SIMPLE & UNIQUE

react-cookies / httpOnly / in chrome 쿠키옵션 본문

React & Node/Solution

react-cookies / httpOnly / in chrome 쿠키옵션

착한코딩 2019. 10. 31. 17:44

 

로컬(localhost)에서 react-cookies 를 사용해 쿠키 세션을 구현하는데,

보안을 위해 httpOnly 옵션을 추가하면 쿠키가 save되지 않았다.

 

https://www.npmjs.com/package/react-cookies

import cookie from 'react-cookies'
 
handleButtonClick() {
  const expires = new Date()
   expires.setDate(Date.now() + 1000 * 60 * 60 * 24 * 14)
 
  cookie.save(
    'userId',
    '1234',
    {
      path: '/',
      expires,
      httpOnly: true
    }
  )
}

 

<참고>
Secure는 웹브라우저와 웹서버가 https로 통신하는 경우만 웹브라우저가 쿠키를 서버로 전송하는 옵션.

HttpOnly는 자바스크립트의 document.cookie를 이용해서 쿠키에 접속하는 것을 막는 옵션입니다.

즉, 쿠키를 훔쳐가는 행위를 막기 위한 방법이다. 

 

 

원인은?

httpOnly 옵션은 ie 브라우져를 쓰거나 .com 등으로 끝나는 일반적인 도메인에만 적용가능하다.

IP나 인트라넷 호스트네임의 경우 사용하지 못한다.

<출처>

https://stackoverflow.com/questions/8134384/chrome-doesnt-create-cookie-for-domain-localhost-in-broken-https

Comments