본문 바로가기

Do it Node.js/EJS BackEnd20

20. 로그인, 토큰 쿠키 : 웹 브라우저를 이용할 때 사용자 컴퓨터에 저장되는 정보 -cookie-parser : 웹 애플리케이션에서 쿠키를 만들거나 구문을 분석할 떄 사용 >> npm install cookie-parser 세션 : 웹 브라우저를 이용할 때 서버에 저장되는 정보 캐시 : 데이터를 미리 복사해 놓는 임시 저장 장소 토큰 -세션과는 다르게 서버에 저장하지 않음 -사용자 정보, 위조를 막는 서명 등 인증에 필요한 모든 정보가 담김 -서버 간 공유할 수도 있음 JWT : 노드에서 자주 사용하는 JSON 형식의 토큰 방식 모듈, 헤더/페이로드/서명 3영역으로 나뉨 -헤더 : 알고리즘과 유형이 담김 -페이로드 : 사용자 인증 정보, 내용이 담김 -서명 : 비밀 키로 .env 파일같이 안전한 곳에 저장해서 사용 >> .. 2024. 3. 19.
19. 회원가입, bcrypt 해시 함수 : 비밀번호를 암호화할 때 쓰는 함수로, 입력값을 받아서 또다른 값으로 반환 -일방향 함수로, 원래 입력값으로 복원하는 것이 불가능 -해시가 노출되어도 입력값을 알아낼 수 없음 -입력값을 조금만 변형해도 완전히 다른 해시가 나오며 -입력값의 길이에 상관없이 해시의 길이는 항상 일정 bcrypt : 비밀번호를 해시로 변환해서 데이터베이스에 저장하는 모듈 >> npm install bcrypt views - : 회원가입 페이지 사용자 등록 아이디 비밀번호 비밀번호 확인 models - : User 스키마 생성 const mongoose = require("mongoose"); //몽구스 모듈 가져오기 const Schema = mongoose.Schema; //스키마 생성 const UserSch.. 2024. 3. 19.
18. 연락처 추가, 삭제 method-override : form의 POST 요청을 덮어 씌워서 PUT, DELETE 요청을 할 수 있게 해주는 미들웨어 -form은 기본적으로 GET, POST 요청 밖에 할 수 없음 >> npm install method-override : method-override 등록 const express = require("express"); const dbConnect = require("./config/dbConnect"); const methodOverride = require("method-override"); //method-override 가져옴 const app = express(); app.set("view engine", "ejs"); app.set("views", "./views".. 2024. 3. 16.
17. 연락처 추가 views - : 연락처 추가 페이지 ※action : 어떤 경로로 요청할 것인지 지정 연락처 목록 연락처 추가 연락처 정보를 추가합니다. 이름(Full Name) 메일 주소(E-mail) 전화번호(Mobile) 저장하기 controllers - : 입력한 name, email, phone을 POST 요청해서 추가 ※.redirect() : 요청 경로를 강제로 바꿈 (...) //GET view add contact form, /contact/add : add.ejs 파일을 렌더링해서 보여주기 const addContactForm = (req, res) => { res.render("add"); }; //Post contact, /contact/add : 입력한 name, email, phone을 추가 .. 2024. 3. 15.