목록코딩 (13)
jwj3400

기존의 스위치 구성도 각각의 server마다 NIC(Network Interface Card)가 필요 NIC는 컴퓨터의 운영체제와 네트워크 장비 사이의 인터페이스 역할을 함. 컴퓨터에서 데이터를 전송하거나 받을 때, NIC는 데이터를 디지털 형태로 변환하여 네트워크로 전송하고, 네트워크로부터 받은 데이터를 컴퓨터가 이해할 수 있는 형태로 변환하여 운영체제에 전달 MAC 주소는 NIC (Network Interface Card 또는 Network Adapter)에 물리적으로 할당되는 고유한 식별자 가상화 네트워크 구성도 가상화 환경에서는 가상 머신(VM)이나 컨테이너와 같은 가상화된 시스템이 호스트 시스템과 통신할 수 있어야 함 이를 위해 가상 머신이나 컨테이너에 가상 NIC가 할당 -> 가상화 네트워크의..

Django vs DRF(Django Rest Framework) DRF를 사용하면 view와 model사이 serializer를 사용하여 Model에서 꺼낸 데이터를 Queryset의 형태가 아닌 json형태로 데이터를 받아올 수 있음 serialize와 deserialize 시리얼라이즈: DB 인스턴스를 JSON 데이터로 변환 디시리얼라이즈: JSON 데이터를 DB 인스턴스로 변환 시리얼라이저 정의 시리얼라이저에는 시리얼라이즈/디시리얼라이즈 되어야 하는 모델의 필드들이 정의됨 (모델의 일부필드만 정의 가능) 유효성플래그는 디시리얼라이즈 시 해당 필드의 유효성이 어떻게 검사 되어야 하는지 나타냄 시리얼라이저에는 create() 메소드(DB 인스턴스 생성)와 update() 메소드(DB 인스턴스 수정)를..

LocalStorage와 SessionStorage모두 Cookie의 단점을 보완하기 위해 html5부터 적용된 기술 LocalStorage와 SessionStorage의 경우 key:value 단위로 저장, 데이터가 클라이언트에 존재할 뿐 서버로 송되지 않음 LocalStorage 반영구적으로 보존(브라우저를 종료해도 데이터가 보관) LocalStorage에 토큰을 저장할 때는 로그아웃이 토큰을 지워줘야 SessionStorage 브라우저 탭을 닫을 경우 사라짐 Cookie 브라우저 요청이 있을 경우 자동으로 서버에 전송 만료일자가 존재 사용예시) - 팝업 창 : Cookie - 자동 로그인 : LocalStorage - 입력 폼 정보 : SessionStorage - 비로그인 장바구니 : Sessio..

세션/쿠키 사용자가 로그인을 하면 세션 ID를 발급하여 response에 넣어 돌려줌 사용자는 서버에서 세션ID를 받아 쿠키에 저장한 후, 인증이 필요할 때마다 쿠키를 헤더에 실어 보냄 사용자의 쿠키를 해커가 가로챈 경우 서버는 해커를 사용자로 오인해 정보를 뿌려줄 수 있음 -> HTTPS를 사용해 탈취해도 정보를 읽기 힘들게함, 세션에 유효시간을 넣어줌 stateful(저장소가 필요한)한 서버가 되는 단점이 있음 토큰 JWT(Json Web Token) 사용자가 로그인하면 서버에서 Acces Token을 발행 토큰 발행을 위해 Header, Payload, Verify Signature가 필요 Header: 암호화할 방식, 토큰타입 Payload: 서버에 보낼 데이터 값이 들어감, 유저의 고유 ID, ..

XSS 공격대상이 Client 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법 Stored XSS: 사용자가 게시물을 열람시 공격자가 입력해 놓은 악성 스크립트가 실행되어 사용자의 정보 유출, 스크립트 코드가 서버내에 저장됨 Reflected XSS: 공격자가 HTTP 요청에 악성 콘텐츠를 주입하면 그 결과 사용자에게 반사되는 형태, 사용자가 악성 스크립트 url을 클릭하도록 유도 공격자의 서버로 쿠키에 저장된 세션 토큰을 전송하는 식으로 를 목적으로함 CSRF CSRF란 명시적인 동의 없이 사용자를 대신하여 웹 어플리케이션에 악의적인 행동을 취하는 공격 쿠키와 세션을 이용한 로그인 순서 로그인 하면 세션 아이디를 서버에서 생성하고, 세션 아이디를 클라이언트 set-Cookie 헤더에 담아서 ..

CORS SOP(Same-Origin Policy) CORS는 한 사이트에서 주소가 다른 서버로 요청을 보낼 시 발생하는 문제 CORS는 브라우저 단에서 막는 것임 브라우저가 Origin을 따질 때에는 Scheme, Host, Port를 보고 origin을 따짐 (https 는 443이 기본 포트) CORS를 위해서는 벡엔드단에서 프론트엔드의 origin을 등록해놓아야함 허용할 origin을 Access-Control-Allow-Origin에 추가 CORS에는 세가지 시나리오가 존재 1. Preflight request 브라우저는 요청을 보낼 시 본 요청과 예비요청을 나누어서 보냄. 이 중 예비요청을 OPTIONS 메서드로 보내는데 이를 Preflight라고 함 요청을 보내면 Response로 Acces..