inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

express-session 미들웨어

express-session 원리, 세션 보안 질문

332

cloer

작성한 질문수 11

0

express-session 미들웨어를 사용하면 좋은 점이 req.session을 id를 따로 지정해주지 않아도 개인의 저장공간 처럼 사용할 수 있다고 하셨는데, 4장에서 const session = {key:data}로 고유한 key로 사용자를 구분해 특정 사용자의 데이터만 객체로 넘겨주는 처리를 미들웨어 내부에서 알아서 해주는 건가요?

예를 들어 모든 사용자의 세션이 저장된 session 객체가 있다고 하면 요청으로 받은 key값으로 사용자 의 정보를 꺼내 req에 넣어 다음 미들웨어로 넘겨주는 형태인가요?

const session = {
key1: {
id: "id1",
password: "pw1111",
},
key2: {
id: "id2",
password: "pw2222",
},
...
};

req.session <= {
id: "id2",
password: "pw2222",
}

 

위가 맞다면 세션을 사용하면 유저의 데이터는 서버 안에 둬서 지킬 수 있지만 결국 브라우저에서 세션이 탈취되면 해커가 유저아이디로 로그인 할 수 있는거 아닌가요?

mysql mongodb nodejs Sequelize

답변 1

1

제로초(조현영)

네 맞습니다. 키를 자동으로 넣어주는 역할을 하고요. 브라우저에서 키이자 쿠키인 connect.sid가 탈취되면 남의 계정으로 로그인할 수 있습니다. 그래서 쿠키가 노출 안 되게 https, httpOnly 등의 옵션을 잘 줘야하는 겁니다.

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

926

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

386

1

리뉴얼 강의 및 공부 방법

0

589

1

jwt decode

0

1137

1

node.js 교과서 3판 질문드립니다

0

396

1

passport와 jwt

0

438

1

리뉴얼 강의

0

427

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

488

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

511

2

nunjucks res.render('error'); 작동을 안합니다.

0

518

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3543

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

244

1

multer 사용시 file 외 name값은 못받나용?

0

429

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

292

1

Strategy의 done에 대해 질문드립니다.

0

373

1

안녕하세요 fs 권한 관련 질문드립니다

0

455

1

시퀄라이즈 연결질문...

0

510

2

res.setHeader vs res.cookie

0

1797

3