[Express] Session으로 인증 구현하기_1

Featured image for [Express] Session으로 인증 구현하기_1

0. 출처 express-session을 이용한 인증구현 – 생활코딩 오픈튜토리얼 생활코딩 참고. 1. 목표 세션을 활용해서 로그인 기능을 구현한다. 당장은 다중 사용자를 고려하기보단, 하나의 ID, Password만 사용해서 로그인하는 것을 가정한다. 단일 사용자 환경에서 인증, 인가를 모두 구현한 다음, 추후 다중 사용자 환경에서도 동작하도록 확장할 계획이다. 2. 인증 기능 구현 가. 링크 추가 day (혹은 night) 버튼 옆에 … 더 읽기

[Express] Session이란?

Featured image for [Express] Session이란?

  1. 세션 앞서 쿠키를 사용해서 인증을 구현하면 생기는 문제점에 대하여 알아보았다. 쿠키를 통해서 인증 기능을 구현하면 민감한 개인 정보를 쿠키에 저장해야 하는 심각한 보안 문제가 발생한다. 그래서 이번 기회를 빌어 인증 기능을 구현하기 위햇 많이 사용하는 ‘세션’에 대하여 공부해 보겠다. 가. 세션이란? 세션(session)은 컴퓨터 과학에서, 특히 네트워크 분야에서 반영구적이고 상호작용적인 정보 교환을 전제하는 둘 … 더 읽기

[Node.js] 쿠키의 한계

Featured image for [Node.js] 쿠키의 한계

  1. 인증 부분의 한계 민감한 정보를 클라이언트 쪽에 저장한다는 것은 위험하다. 또한 쿠키는 쉽게 탈취당할 수 있기 때문에 민감한 정보를 저장하는 것에 어울리지 않는다. 그렇기 때문에 요즘에는 인증을 구현하기 위해서 쿠키보다는 세션이나 JWT를 사용한다. 그중에서 세션을 사용하면 서버 측에서 사용자에 대한 정보를 안전하게 저장하고, 클라이언트에는 세션 ID만을 저장하여 보다 안전하다. 그 외에도 세션은 …와 … 더 읽기

[Express] 쿠키로 다크모드 구현

Featured image for [Express] 쿠키로 다크모드 구현

1. 쿠키를 활용해서 다크모드 구현하기 기존 페이지는 리로딩할 때마다 다크모드가 꺼지는 문제가 있었다. 그래서 다른 페이지로 이동하거나 리로딩해도 다크모드가 그대로 유지되도록 해보자. 가. 쿠키 생성 다크모드에 관한 정보를 저장하는 쿠키를 만든다. 1) cookie-parser 설치 2) 미들웨어 추가 cookieParser와 새로 만든 checkCookie.checkDarkMode 미들웨어를 추가한다. 사실 모든 요청마다 checkCookie.checkDarkMode가 필요한 것은 아니라서 http get method에만 동작하도록 수정한다. … 더 읽기

[Node.js] 쿠키 옵션

Featured image for [Node.js] 쿠키 옵션

0. 참고자료 쿠키 옵션 – Secure & HttpOnly – 생활코딩 쿠키 옵션 – path & domain – 생활코딩 쿠키와 document.cookie 1. Secure & HttpOnly 쿠키를 훔쳐가는 행위를 막기 위한 방법. 가. Secure Secure는 웹브라우저와 웹서버가 https로 통신하는 경우만 웹브라우저가 쿠키를 서버로 전송하는 옵션. 안전한 상황에서만 쿠키를 전송한다. 나. HttpOnly HttpOnly는 자바스크립트의 document.cookie를 이용해서 쿠키에 접속하는 … 더 읽기

[Node.js] 세션 쿠키, 영구 쿠키

Featured image for [Node.js] 세션 쿠키, 영구 쿠키

0. 참고자료 Session 쿠키 VS Permanent 쿠키 – 생활코딩 쿠키와 document.cookie 1. 쿠키의 종류 2. 세션 쿠키 세션 쿠키를 만들기 위해서 별도로 해줄 건 없다. expires(유효 일자)나 max-age(만료 기간) 옵션이 지정되어있지 않으면, 브라우저가 닫힐 때 쿠키도 함께 삭제된다. 3. 영구 쿠키 세션 쿠키에 Max-Age나 Expires 같은 옵션을 추가하면 영구 쿠키가 된다. 가. Max-Age 하루동안 유효한 … 더 읽기

[Node.js] 쿠키 생성, 읽기

Featured image for [Node.js] 쿠키 생성, 읽기

  0. 참고자료 Node.js – 쿠키와 인증 – 생활코딩 1. 쿠키? 쿠키는 사용자가 방문한 웹사이트에서 사용자의 브라우저에 전송하는 작은 텍스트 조각입니다. 쿠키가 있으면 웹사이트에서 사용자의 방문에 관한 정보를 기억하여 다음번에 사이트에 방문했을 때 번거로운 작업을 피하고 더 유용하게 사이트를 활용할 수 있습니다. 브라우저, 앱 또는 기기, 픽셀, 로컬 저장소를 식별하는 데 사용되는 고유 식별자 같은 … 더 읽기

[Express] 보안

Featured image for [Express] 보안

0. 참고자료 보안 – 생활코딩 GitHub – helmetjs/helmet: Help secure Express apps with various HTTP headers Help secure Express apps with various HTTP headers – helmetjs/helmet 1. 보안 프로덕션 환경의 Express를 위한 보안 우수 사례 Express 애플리케이션을 프로덕션 환경에서 운영할 때 반드시 지켜야 할 중요한 보안 모범 사례를 알아봅니다. 여기에는 TLS 사용, 입력값 검증, 보안 … 더 읽기

[Express] 미들웨어와 라우터를 활용한 리팩터링

Featured image for [Express] 미들웨어와 라우터를 활용한 리팩터링

  0. 참고자료 라우터 – 생활코딩 1. 개선 방안 2. URL 수정하기 url 수정 · ramen4598/Study_nodeJS@a67dc74 덕분에 app.js는 엄청 단순해졌다. 3. Ready 클래스 수정 refactoring : topic.js, index.js, template.js · ramen4598/Study_nodeJS@a6f23f8 예전과 비교해서 많이 단순해졌다.  

[Express] 오류 처리

Featured image for [Express] 오류 처리

0. 참고자료 에러처리 – 생활코딩 Express 오류 처리 Express.js가 동기 및 비동기 코드에서 오류를 처리하는 방식을 이해하고, 애플리케이션에 맞는 사용자 정의 오류 처리 미들웨어를 구현하는 방법을 알아보세요. 1. 오류 처리 다른 미들웨어 함수와 동일한 방법으로 오류 처리 미들웨어 함수를 정의할 수 있지만, 오류 처리 함수는 3개가 아닌 4개의 인수, 즉 (err, req, res, next)를 갖는다는 … 더 읽기