Node.js - express (10) express-session 사용하기
·
Node/Express
저번 포스팅에서 세션이 무엇인지에 대해 다뤄보았었다. 이번에는 express-session 패키지를 사용해서 세션을 만들어 보고 간단한 로그인 기능을 구현해보도록 하자. express-session 세팅하기 로그인 기능 구현하기 우선 로그인 기능이 작동하는 원리를 간단하게 살펴보자. 사용자가 아이디와 패스워드를 입력해서 웹서버로 요청을 보내면 웹서버는 자신이 갖고 있는 데이터와 사용자가 입력한 데이터가 일치하는지 확인하는 작업을 거치게 된다. 그리고 데이터가 일치하는지의 여부에 따라 세션을 생성할지 말지를 결정한다. 사용자가 입력한 데이터가 서버쪽 데이터와 일치할 경우 서버는 세션을 생성해서 쿠키 형태로 사용자의 브라우저에 전송하게 된다. 세션은 ..
Node.js - express (9) express.Router() 사용하기
·
Node/Express
이번 포스팅에서는 express.Router()를 사용해 라우터를 분리하는 방법에 대해 알아보도록 하자. express.Router() 라우터 분리하기 Node.js에서 express를 사용해 게시판 서버를 만든다고 가정해보자. 기본적인 기능만을 갖고 있는 게시판 서버를 만드는 작업에도 메인 서버 파일에는 다음과 같이 수많은 라우터들이 들어가게 될 것이다. // server.js 파일 const express = require('express'); const app = express(); app.get('/board/list', (req, res)=>{ }) app.get('/board/write', (req, res)=>{ }) app.post('/bo..
Node.js - express (8) 라우터와 미들웨어 (router & middleware)
·
Node/Express
이번 포스팅에서는 라우터와 미들웨어에 대해 살펴보고자 한다. 라우터와 미들웨어 미들웨어의 매개변수 미들웨어를 변수로 만들어 사용하기 라우트 매개변수 Node.js의 express 모듈을 이용해 아래와 같이 간단한 서버를 만들어 보자. const express = require('express'); const app = express(); app.get('/express', (req, res)=>{ res.send('Hello server!!') }) app.listen(3000, ()=>{ console.log('server onload') }) 라우터와 미들웨어가 무엇인지에 대해 알아보기 위해 최소한의 기능만 구현되어 있는 서버를 만들었다. "http://local..
Node.js - express (7) 세션(session)
·
Node/Express
이번 포스팅에서는 세션(session)의 개념에 대해 알아보고 세션을 활용해 간단한 로그인 기능을 구현해보도록 하겠다. 세션이란? 로그인 기능 구현해보기 이전 포스팅에서 쿠키(cookie)란 어떤 것인지에 대해 살펴본 적이 있다. 웹브라우저에서 서버에 요청을 보냈을 때 웹서버는 브라우저에 쿠키 데이터를 저장하고 이후의 요청들에 대한 응답에 쿠키를 사용하게 된다. 하지만 이렇게 쿠키를 브라우저에 저장해 놓고 사용하게 되면 보안과 관련해서 여러 이슈들이 발생한다. 쿠키에 개인정보와 같은 데이터를 보관하게 되면, 민감한 정보들이 공개되는 상황이 발생하게 되는 것이다. 이러한 이슈가 발생하는 원인은 데이터의 저장 주체가 브라우저이기 때문이다. 이를 방지하고자 데이터를 저장하는 주체..
Node.js - express (6) cookieParser 함수 만들기
·
Node/Express
이번 포스팅에서는 HTTP 패킷의 요청헤더(Request Headers)에 있는 쿠키를 파싱할 때 사용할 수 있는 함수를 간단하게 만들어 보고자 한다. express에서 "cookie-parser" 패키지를 사용하는 것이 아닌, 직접 함수를 만들어서 사용해 보는 것도 좋은 공부가 되리라 생각한다. 다음과 같은 쿠키값이 요청헤더에 존재한다고 하자. let cookieText = 'name=123; name2=123; name3=1234; name4=12345; name5=2' 1. ';'를 구분자로 해서 cookieText를 자르고 cookieArr에 담는다. let cookieArr = cookieText.split(';') console.log(cookieArr) // output : [ 'name=1..