궁금한 내용은 바로 알아보기!

배경프로젝트에서 웹소켓을 활용해 실시간으로 데이터를 서버에 요청하게 되는데, 실시간성이기 때문에 매번 인증하는 방식보다는 토큰을 활용하는 방식으로 프로젝트를 구현했다. 특히나 소켓 서버는 사용자 접속량에 따라 서버 확장성을 고려해서 설계하였고, 이러한 경우에도 토큰이 유용할 수 있다. 장점만을 들면서 선택하고 활용했는데... 취약점과 해결방법?!쭈글.. 알아보자..  취약점에는 뭐가 있을까? JWT 토큰의 탈취라고 생각되는데요..(맞나요..?) 우선은 비밀키가 있으면 토큰을 해석할 수 있기 때문에, 서버에서 비밀키는 잘 관리해야 한다.이를 위해서 환경변수등을 통해서 관리할 수 있고, 주기적으로 비밀 키 값을 변경하는 것 도 좋을 것 같다. 또한 만료시간을 최대한 짧게 설정해서, 탈취를 당해도 사용할 수 ..
배경질문 듣고 가슴이 두근 거렸다.. 공부하자나 왜 이거 대답 못해..? 쭈글..  해시함수 vs 인코딩인코딩은 다른 방식으로 표현하는 것이다.반대로 다른 문자로 표현된 것을 다시 디코딩을 통해 원래 문자로 되돌릴 수 있다. 반면에 해시함수는 한번 함수를 거쳐 변환되면 다시 되돌릴 수 없는 단방향 함수이다.그리고 변환된 값은 고정된 길이를 갖는다. 여기서 큰 차이가 있네! 그래서 해시함수는 무결성 검증이나 데이터를 빠르게 검색할 때 사용된다.  해시 알고리즘해시함수가 연산하는 방법을 해시 알고리즘 이라고 한다.대표적으로 SHA-1, SHA-256, SHA-512, HMAC 등이 있다. JWT 토큰인증을 프로젝트에 적용할 때에도 해시 함수를 사용했었다.    무결성 검증 방식이걸로 어떻게 데이터 무결성을 ..
배경인덱스에는 B트리, 혹은 B트리의 변형인 자료구조가 사용됩니다. 그 이유를 설명해 보세요.나 왜 이거 대답 못해..? 쭈글.. B 트리 인덱스의 장점먼저 인덱스는 데이터베이스 내부에 특정 필드값을 기준으로 정렬된 테이블을 만든다.말은 테이블이라고 했지만 실제 데이터는 B트리 형태로 저장됨.  왜 B트리 형식을 사용할까?B트리는 대용량 데이터에 대해 빠른 탐색이 가능하다. 균형 잡힌 구조로 데이터가 정렬된 상태를 유지한다.트리의 각 노드는 여러개(2개 이상)의 자식 노드를 갖는다.자식 노드가 여러개 이므로, 일반 트리보다 탐색을 위한 연산 횟수가 적다. 아래는 제품 번호(기본키)를 기준으로 인덱스 테이블(B트리형)이 생성된 모습이다.    대용량 입출력을 위한 B 트리자식 노드가 여러개이고, 정렬된 상..
배경야 너...CORS 설명해봐!.. (쭈글).. REST API 방식으로 프로젝트를 진행하면서 CORS 문제를 해결하기 위해 서버 설정에서 localhost:3000 으로 CORS 설정을 해주었다.개념적으로 알고있지만, 잘 와닿지 않아서 한번 더 공부해보려고 한다.  CORS(CrossOriginResourceSharing)"어디에서" 백엔드 서버에 요청을 보내면 CORS로 막히게 될까?바로 브라우저에서 요청할 때 이다. 즉, 브라우저를 통해 사이트에 접속하고, 사이트에서 서버로 요청을 보낼 때 브라우저가 이 요청보내는 사이트를 못믿고 CORS 제한을 거는 것이다. 언제 문제가 될까?나쁜 사람들이 사용자로 하여금 자신들이 만든 나쁜 사이트 xxx.com 으로 접속을 유도한다.현재 내 "브라우저"는 나의..
Don't stop 훈
'궁금한 내용은 바로 알아보기!' 카테고리의 글 목록