본문 바로가기

인증 보안

(3)
im-sprint-auth-token에서 server-token/index.js파일 분석 - (1) 먼저 server-token / index.js 을 살펴보자. require("dotenv").config(); //'dotenv'모듈 불러오기 + config내장함수 //'dotenv'모듈을 불러오면 환경변수를 사용할 수 있게 된다. //환경변수 사용 시, process.env.뒤에 변수 적으면 된다. const fs = require("fs"); const https = require("https"); const cors = require("cors"); const cookieParser = require("cookie-parser"); const express = require("express"); const app = express(); const controllers = require("./co..
Cookie란? 1. Cookie의 배경 Cookie의 배경에는 HTTP의 특성인 Stateless가 있다. [Case Study] 코딩을 배우고있는 김코딩이 중요한 약속이 생겨 온라인으로 옷을 하나 구매하려고 한다. 의류 쇼핑몰 사이트를 둘러보면서 몇 가지 마음에 드는 옷들을 장바구니에 넣었다. 상의도 보고, 아우터도 보고 여러 페이지를 돌아다니다가 갑자기 의문이 들었다. "HTTP는 Stateless하다고 했는데, 이렇게 다른 페이지들을 마구 돌아다녀도 왜 장바구니가 유지되는거지..?" 원래 HTTP는 Stateless, 즉 무상태성이다. 웹사이트와 유저는 연결되어있지 않다. ex: Stateless의 간단한 예 클라이언트 --> 서버 : 삼겹살 먹을래? 서버 --> 클라이언트 : 응! 클라이언트 --> 서버 : 자..
Hashing, 그리고 Salt값 먼저, 유저가 클라이언트를 통해 이메일 관련 데이터를 요청할 때, 이메일주소와 password를 가지고 요청한다고 생각해보자. CASE 1 : DB에 password가 그대로 저장되어있는 경우 1> 서버가 클라이언트러부터 유저의 이메일주소, password를 받는다. 2> 서버는 DB에 email, password를 요청하고 받은 후, 클라이언트로부터 받은 정보와 비교한다. 3> 일치하면 DB에 다시 해당 이메일주소의 관련 정보를 요청해서 클라이언트에 반환해준다. **여기서! 이메일 주소는 공개되어도 되지만, password는 조심해야한다. 해커가 DB에 접근해서 유저의 비밀번호를 쉽게 알아버리면, 비밀번호는 하나로 여러 사이트에서 사용하기 때문에 서비스 하나에 패스워드가 뚫리게 되면 은행, 페이스북, ..