본문 바로가기
728x90

nodejs12

[NodeJs] 비밀번호 해쉬 저장 하기 bcrypt [NodeJs] 사용자 비밀번호 해쉬값으로 변환하여 저장하기 Bcrypt ⭐️ NodeJs 를 통하여 로그인 기능을 구현할때 아이디와 비밀번호 등의 사용자 정보를 서버에 저장하는데 이때 비밀번호를 암호화 하지않고 그대로 저장하는 것은 범죄가 될 만큼 서버를 구성하는 프로그래머에겐 사용자의 정보를 암호화 하여 저장하는 일은 필수이다 ⭐️ 하지만 암호화라는 것을 그냥 네이티브하게 구현하기 위해서는 까다로운 면도 있고 안전성도 보장할수 없는데 이를위해 비밀번호 암호화를 간단하게 처리할수 있는 npm 모듈인 bcrypt를 소개하고자 한다 🌈 사용 예제 NodeJs (Express) 를 통한 로그인 RestfulAPI 내에서 회원가입시 사용자의 비밀번호 정보를 해싱하여 저장 로그인시 해쉬값과 입력한 비밀번호를 비.. 2021. 8. 5.
[NodeJs] Express 서버에서 손쉽게 유효성 검사하기 express-validator [NodeJs / Express] 서버에서 손쉽게 데이터 유효성 검사하기 express-validator ⭐️ 서버에 전송되는 데이터의 유효성 검사는 빠를 수록 좋다. 왜냐하면 유효하지 않은 데이터를 굳이 가공하는데 비용을 낭비할 필요가 없기 때문이다 ⭐️ 데이터 유효성 검사의 방법은 여러가지가 있지만 간단한 예로 회원가입시 회원가입 정보가 서버에 전달이 되었을때 아래의 데이터 기준에 부합하는 유효성 검사를 직접 구현 한 것과 express-validator를 사용한 두가지 예제를 통해 구현의 복잡성을 비교하기로 한다. ⭐️ 데이터 유효성 기준 아이디의 공백여부 및 최소 글자수 (3글자 이상) 최대 글자수 (20글자 미만)을 기준으로 유효성 검사를 하여 유효성 검사 기준에 부합할시 가입 성공 메시지 응답.. 2021. 8. 3.
[NodeJs] 간단하게 데이터 베이스 사용하기 lowdb NodeJs 간단하게 데이터 베이스 사용하기 npm lowdb lowdb를 이용하면 간단하게 nodejs환경에서 데이터 베이스의 사용이 가능하다. 사용법 또한 간단하여 json방식으로 sql 언어 없이 쉽게 데이터를 관리할수 있다. 설치하기 npm install lowdb 사용하기 //lowdb 선언 const low = require('lowdb'); //lowdb 동기식으로 관리 const FileSync = require('lowdb/adapters/FileSync'); //동기식으로 관리할 데이터베이스 json 파일 경로 설정 const adapter = new FileSync('db.json'); //lowdb 사용 변수 설정 const db = low(adapter); //json 파일내 테이.. 2021. 4. 27.
[NodeJs] Passport 사용 설명 및 예제 NodeJs Express Passport 사용 설명 및 예제 사용 목적 Passport는 로그인 과 같은 사용자 인증을 위해 사용된다. 물론 직접 사용자 인증과 로그인을 구현할수도 있겠지만, 매일 같이 새로 생겨나는 보안 등의 이슈를 감당하기엔 여러 손실이 크기에 전문가들이 작성해놓은 패키지를 차용하고 지속적인 업데이트를 해주는 것도 나쁘지 않다고 생각한다. 기반 스펙 Passport는 Session을 기반으로한다. 사용자 정보를 session에 저장하고 쿠키를 통하여 식별한다. 사용 예제 설명 1. 예제에 필요 npm 설치 2. Passport 코드 설명 3. 예제 코드 내 주석으로 상세 설명 1. npm 설치 (Express, express-session, passport, session-file .. 2021. 4. 23.
[NodeJs] Javascript를 활용한 크롤링 (데이터수집) NodeJs / Javascript 를 활용한 크롤링 (데이터 수집) 1. nodejs와 npm 을 설치하자 nodejs.org/ko/ { keyword = encodeURI(keyword); try { return axios.get(`https://kin.naver.com/search/list.nhn?query=`+keyword); }catch(err){ console.log(err); } } const getData = async(keyword) =>{ const html = await getHTML(keyword); const $ = cheerio.load(html.data); const contentList = $('#container .basic1 li'); let titles = []; con.. 2021. 4. 14.
[NodeJs] 순수 NodeJs와 Express 404 에러 처리 방법 순수 NodeJs, Express에서의 404 에러 처리 NodeJs로 구현한 웹 애플리케이션에 클라이언트가 잘못된 주소에 접근하게되면 404 와 같은 에러 처리를 해주어야 한다. 물론 기본 프레임웍을 사용하지 않는 nodejs에서는 분기처리를 통해 간단한 일이지만, express에서는 어떻게 해결해야 할까? 순수 NodeJs 코드에서 분기를 통한 404 에러 처리 //기본 nodejs에서 404 에러 처리 const http = require('http'); const url = require('url'); const app = http.createServer((req,res)=>{ let pathname = url.parse(req.url,ture).pathname; //지정된 페이지 일시, 200 .. 2021. 3. 30.
[NodeJs] CSS Javascript 추가 / 사용하기 (public 폴더 사용하기) NodeJs Express를 통해 웹사이트를 구현하게 되면 Html 내 CSS나 Javascript 파일을 포함해야하는 경우가 있다. 무작정 프로젝트 폴더내 css나 javascript 파일을 넣어 놓으면 클라이언트 측에서는 보안 등의 문제로 폴더내 다른 파일들의 접근이 허용이 되지않는데 이를 허용하는 방법이 미들웨어 express.static 이다. 1. 우선 클라이언트의 접근이 허용되는 public이라는 폴더를 프로젝트 폴더 내에 만든다. 2. 코드 상단에 미들웨어로 app.use(express.static('public'))을 선언해준다. 3. nodejs로 구축한 웹사이트에서 최상위 경로로 등록된 폴더 (public)내의 파일의 접근이 가능하다. 샘플예제 const express = require.. 2021. 3. 26.
[NodeJs] Express 미들웨어 (middleware) NodeJs Express 미들웨어 (middleware) 개념 NodeJs Express에서 미들웨어는 app.use(미들웨어 함수)의 기능을 nodeJs로 구축한 어플리케이션을 실행하여 라우팅 될때마다 실행 되는 것을 말한다. 대표적인 미들웨어로는 body-parser, compression 등이 있다. 미들웨어의 동작 원리를 조금더 이해하기위해 직접 간단한 미들웨어를 만들어보자 샘플코드 [nodeJs Express] const express = require('express'); const app = express(); //미들웨어 호출 app.use(middle); //미들웨어 함수 [request,response,next()] const middle = (req,res,next)=>{ conso.. 2021. 3. 25.
[NodeJs] 미들웨어 body-parser 설치 없이 get, post 데이터 손쉽게 다루기 NodeJS body-parser 설치 없이 웹 get,post 데이터 손쉽게 다루기 express 4.x 이전 버전에서는 body-parser를 npm install body-parser 를 통해 설치 후 사용하였다. 하지만 4.x버전 이후에서는 따로 body-parser를 설치하지 않아도, 기존 body-parser의 기능이 express내에 탑재되어있어 하단의 코드와 같이 작성하면 해당 기능을 사용할수 있다. //최소한의 코드로 설명 const express = require('express'); const app = express(); //기존에는 require('bodyParser') 추가 후 //bodyParser.json()이었음.. app.use(express.urlencoded({exte.. 2021. 3. 25.
[Express] NodeJs Route 라우팅 NodeJs Express API 를 활용한 라우팅 라우팅이란 ? 웹페이지 접속시 특정 주소에 대한 클라이언트 요청에 응답하는 방법을 결정하는 것을 말한다. 쉽게말해, http://goodmemory.tistory.com (현재 블로그) 에서 첫번째 글을 클라이언트가 확인하려면, http://goodmemory.tistory.com/2 로 접속해야 하는데, http://goodmemory.tistory.com (주소) + /2 (엔드포인트) 를 의미하고, 엔드포인트가 /3 ...../15 등 달라지면서 서버는 해당 라우팅에 따른 글을 출력하며 응답을 해주는 형식이다. 샘플 예제 [순수 nodeJs] const http = require('http'); const url = require('url'); c.. 2021. 3. 24.
728x90