TIL 07072022 Node & JS 1
Helmet - Express 사용시 헤더의 설정을 통하여 웹 취약점으로부터 서버를 보호해주는 보안 모듈
XSS(Cross Site Scripting) - 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것
ECMAScript로 표준화된 이후로 자바스크립트에는 string, number, boolean, null, undefined, object 6개의 데이터 타입이 있었다. 그리고 es6에서 새로운 데이터 타입 Symbol이 추가 되었다. symbol은 무엇이고 언제 사용하는 걸까?
Symbol - 변경 불가능한 원시 타입의 값, 다른 값과 중복되지 않는 고유한 값
moment.js - 날짜 관련 (node.js는 javascript 기반으로 기본적으로 시간 및 날짜 오브젝트인 Date를 가지고 있다. 하지만 Date 오브젝트를 사용하여 코드를 작성하면 가독성이 떨어지는 경우가 생겨 moment.js를 사용하는 경우가 있다)
morgan - nodeJS 에서 사용되는 로그 관리를 위한 미들웨어
passport - jwt인증을 쉽게 할 수 있도록 도와주는 역할
1. 설치
2. passport.js (설정파일) 작성
import
3. 옵션 설정
const jwtOptions = {
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), // header에 bearer스키마에 담겨온 토큰 해석할 것
secretOrKey: process.env.JWT_SECERT // 해당 복호화 방법사용
};
4. 복호화 성공시 호출할 함수
const jwtVerify = async (payload, done) => {
done(null, payload);
};
5. passport 사용
compress - 데이터 압축 미들웨어