본문 바로가기
300x250

네트워크기초7

CSRF 개념정리 CSRF web application security란? 개발자들이 웹사이트, 모바일 어플, 웹 api 등을 만들 때에 해커들의 공격을 막기 위해서 보안은 필수 사항 여러가지 공격들 SQL injection, XSS, CSRF CSRF cross site request forgery 악성 스크립트가 담긴 사이트를 열거나 링크를 클릭할 때, 변조된 요청을 보내는 공격이다. 기존의 로그인한 기록을 바탕으로 서버가 클라이언트의 요청을 믿기 때문에 발생한다. 다른 오리진에서 유저가 보내는 요청을 조작하는 것 해커가 직접 데이터를 접근할 순 없다. 공격을 하기위한 조건 1)쿠키를 사용한 로그인 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야함 2)예측할 수 있는 요청/parameter를 가지고 있어야.. 2021. 8. 6.
session 개념, im-sprint-auth-session 리뷰 세션(Session)이란? HTTP Session id를 식별자로 구별하여 데이터를 사용자의 브라우저에 쿠키형태가 아닌 접속한 서버 DB에 정보를 저장한다. 클라이언트는 HTTP Session id를 쿠키로 메모리 저장된 형태로 가지고 있다. 메모리에 저장하기 때문에 브라우저가 종료되면 사라지게 된다. 중요 서버가 client에 유일하고 암호화된 ID를 부여 중요 데이터는 서버에서 관리 서버에 접속 상태가 저장 신뢰할 수 있는 유저인지 확인이 가능 Cookie에 세션 아이디가 저장 세션의 흐름 1. 클라이언트가 서버에 Resource를 요청합니다. 2. 서버에서는 HTTP Request를 통해 쿠키에서 Session id를 확인을 한 후에 없으면 Set-Cookie를 통해 새로 발행한 Session-id.. 2021. 8. 6.
쿠키(Cookie), 쿠키를 이용한 Client와 Server 흐름 개념 정리 쿠키(Cookie) 웹 서버가 브라우저에게 지시하여 사용자의 로컬 컴퓨터에 파일 또는 메모리에 저장하는 작은 기록 정보 파일이다. 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀔 수 있다. 쿠키의 목적 로그인을 통해 볼 수 있는 서비스. 장바구니 서비스. 등등 클라이언트가 정보를 유지하는 상태성의 성격을 가져야하고, 정보를 유지할 수 없는 Connectionless, Stateless의 성격을 가진 HTTP의 단점을 해결하기 위해 쿠키라는 개념이 도입되었다. 쿠키는 주로 다음 세 가지 목적으로 사용된다. 세션 관리, 개인화, 추적 Session management Logins, shopping carts, game scores, or anything e.. 2021. 8. 6.
HTTPS, https 암호화 방법, 공개키, 개인키,hash, salt 기본 개념정리 http vs https http HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자이다. 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜 일반 HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 것이다. https HTTPS는 하이퍼 텍스트 전송 프로토콜 보안(Hypertext Transfer Protocol Secure)의 약자이다. https는 쉽게 말해서 https 프로토콜에 보안 기능을 추가한 것이다. 사용자가 사이트에 제공하는 정보를 암호화하는데, 쉽게 말해서 데이터를 암호로 바꾼다고 생각하면 쉽다. 이렇게 전송된 데이터는 중간에서 누군가 훔쳐 낸다고 하더라도 데이터가 암호화되어있기 .. 2021. 8. 5.
[네트워크 기초] SSR(server side rendering)과 CSR(client side rendering)의 차이 SSR 정의 server-side rendering 서버쪽에서 렌더링을 한다는 뜻이다. 위의 그림 중 첫번째 단계를 보면 렌더가 된 내용이 있는 html을 브라우저에게 보내준다. 보내면 브라우저는 html을 바로 볼 수 있다. because 내용이 다있기 때문에! 자바스크립트 파일을 다운받고 4단계에서부터 상호작용 할 수 있다. 우리는 2단계에서부터 내용을 볼 수 있다. html 파일에 내용이 있느냐 없느냐의 차이가 ssr과 csr의 가장 큰 차이점이다. CSR(Client-Side-Rendering) html 파일안에 아무 내용이 없다. js파일을 받아서 js을 실행시켜야 그 내용이 보여진다. document.createElement 로 태그를 만들어서 붙여넣는다. 그렇게 마지막 단계에서 모든 내용과 .. 2021. 6. 24.
동기(Synchronous)vs비동기(Asynchronous), block과 non-block 개념정리 동기(Synchronous) 위의 그림처럼 하나의 task가 끝났을때 다음 task를 진행할 수 있다. 작업 요청을 했을 때 요청의 결과값(return)을 직접 받는 것이다. 요청의 결과값이 return값과 동일하다. 호출한 함수가 작업 완료를 신경 쓴다. 설계가 매우 간단하고 직관적이라는 장점이 있지만, 요청에 따른 결과가 반환되기 전까지 아무것도 못하고 대기해야하는 단점도 있다.. 비동기(Asynchronous) 여기도 역시 위의 그림을 보면 동기와는 반대로 여러개의 태스크를 동시에 처리할 수 있다. 작업 요청을 했을 때 요청의 결과값(return)을 간접적으로 받는 것이다. 요청의 결과값이 return값과 다를 수 있다. 해당 요청 작업은 별도의 스레드에서 실행하게 된다. 콜백을 통한 처리가 비동기.. 2021. 6. 24.
[네트워크] HTTP Messages의 요청과 응답 http는 HyperText Transfer Protocol의 줄임말로 html과 같은 문서를 전송하기 위한 어플리케이션 레이어 프로토콜입니다. http는 웹 브라우저와 웹서버의 소통을 위해 디자인 되었고, HTTP Messages의 양식에 맞춰 요청을 보내면, 서버도 HTTP Messages 양식에 맞춰 응답합니다. http는 stateless(무상태성)이라는 특징을 가지고 있습니다. 말 그대로 상태를 가지지 않는다는 뜻입니다. HTTP로 클라이언트와 서버가 통신을 주고 받는 과정에서, HTTP가 클라이언트나 서버의 상태 확인하지 않습니다. HTTP Messages는 몇 줄의 텍스트 정보로 구성됩니다. 개발자는 이런 메세지를 직접 작성할 필요가 거의 없고, 구성파일, API, 기타 인터페이스에서 HTT.. 2021. 5. 23.
반응형