[Problem] 실전 프로젝트의 끝이 보이기 시작했다....마지막으로 남겨 놓은 숙제.... HTTPS로 프론트 엔드와 백엔드를 연결하기. 연결하는 것은 별로 어렵지 않다. CORS설정만 잘해주고 서로 배포한 환경을 맞추면 된다. But, 우리 팀이 시도하고 있는 것은 HTTPS를 통해 쿠키 보안을 강화하는 것이다. [Try] 현재 백엔드가 배포한 환경은 아마존 Elastic Beanstalk, 가비아 도메인을 이용한 배포, 프론트엔드가 배포한 환경은 NAS, cloud flare를 이용한 배포였다. 여러 방법으로 시도를 했다. 1. 첫번째 시도는 NAS cloud flare의 프록시 서버와 NAS 인증서를 이용해 서버의 도메인을 프록시 서버와 연결하는 방법이었다. 인증서 승인이 됐지만 여전히 Set-..
같이 보면 좋은 글 2023.05.16 TIL - express에 multer 모듈을 이용해 image 업로드... [Problem] 첫 주특기 프로젝트. 현재 작업하고 있는 프로젝트는 요즘 유행하고 있는 카카오톡 오픈 채팅 '거지방'을 게시글로 올리는 형식으로 바꾸는 프로젝트이다. 거지방은 최근 고금리 고물가 yoonsoo-space.tistory.com [Problem] 실전 프로젝트에 추가 기능을 넣는 단계이다. 오늘의 문제는 추가 기능 중 하나인 프로필 수정 기능이다. 다른 프로젝트에서 사용하던 multer 라이브러리를 이용하여 서버에 이미지를 저장할 생각을 했다. But 서버에 이미지를 저장하는 것은 서버의 디스크 공간을 직접 사용하게 되기 때문에 데이터 관리가 복잡해질 수 있다. 또한 서버의 ..
01. Helmet 다양한 HTTP 헤더를 설정하여 일반적인 보안 취약점으로부터 보호해주는 보안 관련 모듈. 크로스 사이트 스크립팅(XSS), 콘텐츠 스니핑, 클릭재킹 등과 같은 위험을 최소화할 수 있다. 1. 패키지 설치 npm install helmet 2. 설치 모듈 가져오기 const helmet = require("helmet"); 3. 사용하기 // 기본 설정 app.use(helmet()); // 특정 세부 기능 하나하나 설정할때 사용 app.use(helmet.contentSecurityPolicy()); app.use(helmet.crossOriginEmbedderPolicy()); app.use(helmet.crossOriginOpenerPolicy()); app.use(helmet.c..
01. JWT JWT는 웹 표준으로서, 정보를 안전하게 전송하기 위해 사용되는 토큰 기반의 인증 방식 주로 인증과 정보 교환에 사용되며, 특히 클라이언트와 서버 간의 인증을 간단하게 구현할 때 많이 사용된다. JWT는 JSON 객체를 사용하여 정보를 표현하며, 세 부분으로 구성된다. Header(헤더): JWT의 유형과 해싱 알고리즘을 지정. 일반적으로 알고리즘과 토큰유형이 포함된다. Payload(페이로드): 클레임이라고도 불리며 이는 이름과 값의 쌍으로 이루어진다. 일반적으로 클레임은 registered, public, private으로 나눠진다. registered는 토큰의 정보를 표현하기 위해 미리 정의된 클레임이고, public은 충돌을 방지하기 위해 사용된다. private은 사용자 정의 정보..
01. cron Cron은 일정한 간격 또는 특정 시간에 주기적으로 작업을 실행하기 위해 사용되는 시간 기반 스케줄링 도구를 의미한다. 주로 리눅스와 유닉스 시스템에서 많이 사용된다. Cron 테이블 또는 Cron 작업으로 알려진 스케줄 테이블에 기반하여 작업을 예약. 이 테이블은 사용자가 지정한 작업과 실행 시간을 저장하는 텍스트 파일이다. Node.js에서는 node-cron이라는 npm 패키지를 사용하여 cron 작업을 구현할 수 있다. 02. node-cron node-cron은 Node.js에서 cron 작업을 예약하고 실행할 수 있도록 도와주는 npm 패키지. 1. 패키지 설치 npm install node-cron 2. 설치 완료 후 node-cron 모듈 가져오기 const cron = r..
01. 준비하기 kakao developer 가입하기 현재 작업하고 있는 프로젝트에 모듈 설치 (passport, passport-kakao, jwtwebtoken) npm install passport passport-kakao jwtwebtoken 02. 시작하기 kakao developer 설정 1. 내 애플리케이션 생성 2. 앱 아이콘은 처음부터 등록하기를 추천 (후에 동의 항목을 설정할 때 필요), 앱 이름, 사업자명, 서비스 이용 제한 체크 후에 저장 3. 생성된 앱을 클릭 ㅡ> 비즈니스 ㅡ> 개인 개발자 비즈 앱 전환 ㅡ> 이메일 필수 동의 ㅡ> 전환 ==> 동의 항목에서 이메일을 가져올 때 필요하다. 4. 제품 설정 ㅡ> 카카오 로그인 ㅡ> 동의 항목 : 원하는 항목을 설정에서 체크하기 5..