Authentication(3)
-
Session이란??
앞에서 쿠키에 대해 알아보았다. 정말 간단히 알아보았지만, 사용방법도 편리하고, 사용자의 기록을 가질 수 있어 정말 유용한 기능 중 하나이다. 하지만, 쿠키가 장점만 있는 것은 아니고, 다음과 같은 단점이 존재한다. 1. 사용자 정보에 대한 보안 취약점 . 2. http의 Header에 붙여서 전송하기 때문에 기존의 트래픽보다 더 많은 트래픽을 발생시킬 수 있다. 세션은 위의 두가지 문제에 대한 해결을 위해 나타났다. 쿠키가 클라이언트의 측의 데이터 저장이었다면, 세션은 서버 측(혹은 DB)에 정보를 저장시켜 놓고, 클라이언트는 그저 session_id만 쿠키로 저장시켜 놓는 것이다. 그러면, 일일이 쿠키에 모든 것을 저장시키는 것보다 과부하도 덜 오고 보안 문제도 서버에서 관리하기 때문에 더 안전할 것..
2020.09.13 -
express로 Cookie 간단히 넣기
1. Cookie란? Cookie는 클라이언트에 저장하는 작은 기록 정보라고 생각하면 된다. 4KB의 작은 크기이기에 대용량과 같은 기록보다는 방문기록 혹은 사용자가 사이트에서 사용 편의성을 위한 기록들을 저장할 때 쓰인다고 생각하면 된다. 주의할 점은 개인정보와 같은 민감한 데이터 같은 것들은 쿠키로 사용하는 것을 추천하지 않는다. 왜냐하면 쿠키 자체만 사용하면 사용자의 기록 및 쿠키가 그대로 드러나기 때문에 주로 해싱(토큰)을 같이 쓴다. express를 이용해 다음과 같이 사용할 수 있다. const cookieParser = require('cookie-parser'); const express = require('express'); const app = express(); app.use(cook..
2020.09.13 -
Authentication (1) - 인증 & 권한이란?
구글,네이버, 카카오 등등 웹페이지든 어플리케이션이든 상관없이 사용하는 것 중 하나가 '로그인'이라는 기능이다. 그렇다면 로그인을 실행한다는건 무슨 뜻일까? 로그인의 뜻을 살펴보면 다음과 같다. '사용자가 컴퓨터 시스템이나 통신망에 들어가기 위해 자신의 사용자명과 패스워드를 입력하는 일.' 즉, 사용자명(ID)와 비밀번호(password)를 입력해서 나 자신이 누구인가에 대해 알리는 것을 '인증'절차라고 부른다. 회원 가입을 할때 휴대폰으로 인증을 하는 것도 같은 맥락으로 볼 수 있겠다. 그렇다면 '권한'은 무엇일까. 내가 만약 임의의 쇼핑몰 사이트에 로그인을 했다고 생각하자. 해당 쇼핑몰에는 다양한 종류의 데이터가 있을 것이다. 회원정보, 상품 번호, 코드, 가격 등등 과 같은 것들이 아마 있다면, 로..
2020.09.13