목록스터디 (57)
안녕하세요
1. 환경변수 이용 위한 라이브러리 설치 $ npm i dotenv 2. server.js 에서 환변경수 모듈 불러오기 require('dotenv').config() 3. server.js와 같은 경로에 .env 파일 만들기 .env 파일 안에 환경변수로 쓸 값을 만듭니다. PORT=8080 DB_URL="mongodb+srv://..."; => 이런식으로 환경변수를 만듭니다. 4. 환경변수를 server.js에서 불러옵니다. process.env.변수이름 이렇게 불러오면 됩니다. const PORT = process.env.PORT; const DB_URL = process.env.DB_URL; 이렇게 적용합니다.
1. 로그인 해야만 접속 가능한 페이지를 만듭시다. tag:h2 마이페이지 이렇게 만들었어요. 2. middleware로 로그인을 했는지 안했는지 확인합니다. if (요청.user) 에서 user가 있는지 확인을 하고 있다면 next()를 실행합니다. const isLogin = (요청, 응답, next) => { if (요청.user) { next(); } else { 응답.send("로그인 안했어요."); } }; 쿠키에 session id를 찾을 수 있는 문자열이 저장되어 있고, session data에는 유저의 id가 저장되어 있습니다. sessionID: 'DjUvTOd5tVVRNaq2KyHrqAGq8_2vsEsr', session: Session { cookie: { path: '/', _ex..
세션방식을 통한 로그인 기능 구현 1. 세션 로그인이 뭐고 어떻게 동작하는 건가요? 회원가입을 하면 ID와 Password 를 DB에 저장합니다. 유저가 로그인을 하면 DB에 저장된 ID와 Password가 존재할 때 로그인을 시켜주는데 이 때 유니크한 session id를 만들어줍니다. 그리고 유저의 브라우저 쿠키에 session id 를 저장시킵니다. 유저가 로그인이 필요한 활동을 할 때 쿠키에 담겨져 있는 session id를 DB의 seesion id와 비교하여 통과시켜줍니다. 로그인하면 session id 발급, DB에 session id 저장 > 유저 브라우저 쿠키에 발급된 session id 저장 됨 > 로그인 필요 활동 시 브라우저 쿠키의 session id와 DB의 session id 대..
수정하기 기능 만들어 봅시다. 앞부분은 상세페이지에서 했던 거랑 똑같습니다. 1. /edit/아무입력 로 접속하면 띄울 페이지를 만듭니다. app.get("/edit/:id", (요청, 응답) => { return 응답.render("edit.ejs"); }); 2. url에 입력된 파라미터와 일치하는 데이터를 찾습니다. app.get("/edit/:id", (요청, 응답) => { db.collection("post").findOne({ _id: parseInt(요청.params.id) }, (에러, 결과) => { => 문자열로 저장되기 때문에 parseInt로 int형으로 바꿔줍니다. return 응답.render("edit.ejs", { post: 결과 }); => 찾은 데이터를 post 변수에 ..