일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Session
- graphQL
- node.js
- Component
- DART
- 자바스크립트
- CSS
- CLONE
- frontend
- react
- ES6
- MongoDB
- Flutter
- NextJs
- pug
- backend
- Mongoose
- JavaScript
- API
- HTML
- javscript
- express
- 리액트
- form
- GRID
- nodejs
- ECMAScript
- TypeScript
- heroku
- clonecoding
- Today
- Total
목록Cookie (4)
Enjoy Programming
https://github.com/vvo/iron-session GitHub - vvo/iron-session: 🛠 Node.js stateless session utility using signed and encrypted cookies to store data. Works with N 🛠 Node.js stateless session utility using signed and encrypted cookies to store data. Works with Next.js, Express, NestJs, Fastify, and any Node.js HTTP framework. - GitHub - vvo/iron-session: 🛠 No... github.com 기존 jwt 토큰은 암호화 되지 않는다. 이..

간단하게 Cookie의 property에서 중요한 정보를 좀 짚고 넘어가자 그보다 먼저 express-session에 secret prop에 대해 알아본다. secret은 쿠키에 sign할때 사용하는 string이다. 쿠키에 sign? 이 말은 backend가 쿠키를 발행했다는 것을 보여주는 것이다. 나의 쿠키를 누군가 해킹해 나인척 하는 session hijack에서 보호하기 위해 secret string이 필요하다 이 string은 매우 길고 무작위이며 강력해야 한다. 이 강력한 string으로 쿠키를 sign하고 나의 backend가 만든 것임을 증명한다. . Domain . Domain은 해당 쿠키를 만든 backend가 누구인지 나타낸다. 그리고 쿠키는 해당 Domain에 있는 backend로만..

session을 이용해 데이터베이스에 session data를 저장하는 코드이다. resave, saveUninitialized가 있는데 이에 대해 좀 더 알아보자. 먼저 브라우저에서 쿠키값을 지워가며 refresh해주면 위 코드로는 지속적으로 mongoStore에 저장된다. 만약 로그인 할 유저가 아닌 bot이라던지 의미 없는 사용자가 거쳐가는 것만으로도 저장이 된다면 매우 불필요한 작업일 것이다. 그리고 브라우저에 접근한 사람이 많을 수록 비용도 거대해 질 것이다. 이를 해결하기 위해 모든 방문자에 대해 쿠키를 생성하지 않는 방법을 접근해보자. 모든 유저에게 주지 않고 로그인한 사용자에게만 쿠키를 생성한다. 먼저 resave와 saveUninitialize를 false로 바꿔주자. 그리고 db의 se..
우선 mdn을 살펴보자 HTTP쿠키(웹쿠키, 브라우저 쿠키)는 서버가 사용자의 웹브라우저에 전송하는 작은 데이터 조각. 브라우저는 그 데이터 조각들을 저장해 놓았다가 동일한 서버에 재 요청시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용된다. 이를 이용하면 사용자의 로그인 상태를 유지 할 수 있다. 기본적으로 HTTP는 stateless! 상태가 없다. 웹사이트는 유저와 항상 연결되어 있지 않다. 유저가 웹사이트에 접속할때 request가 되고 그 순간 연결이 된다. 그리고 내요청에 대한 응답을 받는 순간 연결이 끊긴다. 예를 들어 페이지를 뿌려주고 끝이 난다는 것. 문제는 유저에 대해 기억을 해야할 필요가 있다는 것. 웹사이트를 사용하는 ..