본문 바로가기

분류 전체보기82

5. 회원가입 페이지 회원가입한 데이터를 몽고DB에 저장 -백엔드- controllers - const asynchHandler = require("express-async-handler"); const User = require("../models/userModel"); const bcrypt = require("bcrypt"); //Post Register User, /register const registerUser = asynchHandler(async (req, res) => { const { username, password, password2 } = req.body; const existingUser = await User.findOne({ username }); if (existingUser) { //아이디 중.. 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.
4. 연락처 수정 페이지, 삭제 연락처를 수정하고 삭제 -update.js 페이지 추가 -alert 문이 출력되게 수정 -백엔드- controllers - (...) //Get get contact, /contact/:id const getContact = asynchHandler(async (req, res) => { const contact = await Contact.findById(req.params.id); res.status(200).send(contact); }); //Put update contact, /contact/:id const updateContact = asynchHandler(async (req, res) => { const { name, email, phone } = req.body; const contac.. 2024. 3. 17.
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.