NodeJS/생활코딩
[express] session 추가사항
kyeongjun-dev
2020. 9. 28. 12:55
http, https
http방식으로 통신한다면, 누군가가 통신 내용을 보고 있다고 간주해도 무방한다.
app.use(session({
HttpOnly: true,
secure: true,
secret: 'sknfienf123',
resave: false,
saveUninitialized: true,
store:new FileStore()
}))
session 미들웨어를 사용할 때, 위에처럼 secure 옵션을 true로 추가하면 https에서만 세션이 동작하도록 설정할 수 있다.
그리고 HttpOnly 옵션을 true 추가하면 세션 쿠키에 대한 자바스크립트의 동작을 방지할 수 있다.(document.session)
이외에도 자바스크립트코드 공격을 방지하기 위해 sanitizehtml 등을 추가로 사용할 수 있다.
federation authentication
회원 정보 관리 등의 보안 관련 기능은 facebook이나 google에게 맡기고, 내가 구현하는 어플리케이션에서는 회원의 식별자만 저장함으로써 보안 사고를 방지할 수 있다. 회원 가입의 간편함은 + 이다.
이를 가능하게하는 것이 oauth이다.
nodejs에서는 passport 라이브럴리가 있다.