기주

express) 세션 secret옵션, dotenv 환경변수 이용하기 본문

framework/express

express) 세션 secret옵션, dotenv 환경변수 이용하기

기주그지마 2023. 12. 18. 23:44

 

 

dotenv)

 

환경변수를 .env 파일에 저장하고 process.env로 로드하는 모듈이다 

 

process.env는 환경변수를 불러오는 객체

 

.env 파일은 루트경로에 배치한다

 

 

 

 

 

 

dotenv를 쓰는이유)

포트번호와 session의 secret 비밀키는 외부에 노출되면 보안적으로 위험하다


클라이언트가 볼 수 없다고해도 github와 같은 오픈소스에 공개될 수 있다


그래서 별도의 .env 외부파일에 정보를 환경변수로 다룰 수 있게 하기 위해서 사용하였다.

그리고 .gitignore에 .env파일을 추가해서 git에 올라가지 않게 해야한다

 

 

 

 

 

.env파일)

ㄴ 키=밸류 형식으로 나열

ㄴ.env에서는 문장끝에 ";"를 쓰지않는다 


secretCode = "secret"
port = 8000
 

 

 

.gitignore)


# env 파일 제외
.env/
 

 

 

server.js)


const router = require("express").Router();
const session = require("express-session");
require('dotenv').config();  //dotenv모듈 import,
config() 메서드는 process.env 객체에 .env 파일에서 환경변수를 불러와 저장 
const { secretCode, port } = process.env; // .env로부터 환경변수 불러오기


//세션 환경변수로 만들기
router.use(session({
    secret: secretCode  //secretCode를 외부에서 알기 어려워짐
}));
 
 
 
app.listen(port, () => {
    console.log(`${port}번 포트번호 서버실행`// 포트번호를 외부에서 알기 어려워짐  
})

 

'framework > express' 카테고리의 다른 글

express) Winston로 Log 관리하기  (0) 2024.01.05