node.js 숙련
1. 쿠키/세션
1) cookie
- 브라우저가 서버 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보냄
- 데이터를 여러 사이트에 공유할 수 있기 때문에 보안에 취약
- 쿠키는 `userId=user-1321;userName=sparta` 와 같이 문자열 형식으로 존재하며 쿠키 간에는 세미콜론`(;)` 으로 구분
2) session
- 쿠키를 기반으로 구성된 기술
- 클라이언트가 언제나 데이터를 확인 할 수 있던 쿠키와는 다르게 세션은 데이터를 서버에만 저장하기 때문에 보안성이 좋음
- 사용자가 많은 경우 서버에 저장해야 할 데이터가 많아져서 서버 컴퓨터가 감당하지 못하는 문제 발생
- cookie-parser : 요청된 쿠키를 req.cookie객체로 변환해주는 미들웨어 -> 이후 쿠키명령어 간소화
2. jwt
1) 개요
- JSON 형태의 데이터를 안전하게 교환하여 사용할 수 있게 해줌(암호화)
- 인터넷 표준 규격
- 다양한 암호화 알고리즘을 사용 가능
- `header.payload.signature` 의 형식으로 3가지의 데이터를 포함
- 헤더는 signature에서 어떤 암호화를 쓴건지 나타냄 / 페이로드는 입력 데이터가 저장됨 / 시그니쳐는 토큰 변조여부 확인
2) 특성
- 변조가 불가능하지만 누구나 복호화가 가능하여 민감한 정보 입력은 지양
- 인증서버 발급 확인 가능(위조/변조 확인)
3) 사용 예시
- 좌측 Decode / 우측 변조확인
3. RDS
1) 구매/생성 과정
- AWS - RDS - 데이터베이스 생성 - 표준생성/MySQL - 프리티어(일정기간무료)
- db식별자 입력 - 이름/비번 입력 - 인스턴스/스토리지 스킵 - 퍼블릭액세스 '예' - vpc보안그룹 새로생성 / 이름입력
- 가용영역 아무거나 - 추가구성 초기이름 입력 - 데이터베이스 생성
2) 포트 열기
- RDS - 데이터베이스 - 생성한 서버 클릭 - 연결&보안 - 보안 -vpc보안그룹 (식별자)시큐리티 - 보안그룹id
- 인바운드 규칙 편집 - 소스anywhere ipv4 - 0.0.0.0/0
- 규칙추가/유형:사용자지정tcp/포트범위3306/소스anwhere ipv6 ::/0 - 규칙 저장
3) 연결
- vscode my sql익스텐션 설치
- RDS - 데이터베이스 - 엔드포인트 복사
- mysql 익스텐션에서 + 클릭 - host:엔드포인트/설정했던이름,패스워드입력/port:3306/이후나오는것 엔터로스킵
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지20 (Sequelize, Migration) (0) | 2023.04.25 |
---|---|
[항해 14기] 개발일지19 (SQL, Sequelize) (0) | 2023.04.24 |
[항해 14기] 개발일지17 (Node.js 1LV 과제, 2LV 과제) (0) | 2023.04.24 |
[항해 14기] 개발일지16 (Git, EC2) (0) | 2023.04.24 |
[항해 14기] 개발일지15 (몽고디비, npm 명령어) (0) | 2023.04.24 |