분류 전체보기
-
OAuth - Implicit Grant Type (암시적 승인 타입)concept/server 2020. 11. 2. 22:30
educative 를 번역, 요약한 자료입니다. Implicit Grant Type 은 백엔드가 없는 single page JavaScript app을 위해서 설계되었다. 이전 포스팅에서는 클라이언트 앱이 client secret, 그리고 Authorization code를 이용해서 액세스 코드를 얻는 방법에 대해서 알아보았다. 백엔드가 없는 자바스크립트 앱의 문제는 client_secret을 저장할 방법이 없다는 것이다. JS 코드에 client_secret을 저장하는 것은 안전하지 않다. 누구나 액세스할 수 있기 때문이다. 따라서 이러한 앱들에게 Implicit Grant type을 사용한다. 이 때, Authorization 서버는 코드를 반환하는 대신 액세스 토큰을 직접 반환한다. 이 type은 ..
-
OAuth - Authorization Code Grant Typeconcept/server 2020. 11. 2. 21:01
educative 번역, 요약한 자료입니다. What is grant type? OAuth 2.0에서 grant type이라는 용어는 애플리케이션이 액세스 토큰을 얻는 방법을 나타낸다. 각 grant type은 웹 앱이든, 네이티브 앱이든, 웹 브라우저를 출시할 능력이 없는 장치든, 서버 대 서버 애플리케이션이든 특정 용도에 최적화된다. Authorization Code grant type 인증 코드 부여 유형은 가장 일반적으로 사용되는 OAuth 2.0 grant type이다. 유저가 승인한 후 인증 서버에서 액세스 토큰을 얻기 위해 웹 앱과 네이티브 앱 모두에서 사용된다. 인증 코드 흐름은 백엔드가 있는 웹 사이트 및 모바일 앱에 가장 적합하다. 이 유형은 액세스 토큰에 대한 authorization..
-
OAuth 2.0 Intro, 용어concept/server 2020. 11. 2. 17:01
educative를 번역한 자료입니다. what is OAuth 2.0? OAuth 2.0은 인증을 위한 업계 표준 프로토콜 OAuth 2.0은 웹 애플리케이션, 데스크탑 애플리케이션, 휴대폰 및 거실 장치에 대한 특정 인증 흐름을 제공하는 동시에 클라이언트 개발자 단순성에 초점을 맞추고 있다. 즉, OAuth는 보안된 리소스에 액세스하기 위해 클라이언트에 권한을 제공!(Authorization) 하는 프로세스를 단순화하는 프로토콜이다. OAuth가 Authentication 이냐, Authorization이냐에 대한 혼란이 있을 수 있다. 정답은 Authorization이다! OpenId Connect 라는 확장자가 있어서 Authentication이 가능하기는 하지만, OAuth는 Authorizat..
-
Cross-site Request Forgery (CSRF)concept/server 2020. 11. 1. 21:36
educative 를 번역, 요약한 자료입니다. What is CSRF? Cross-site Request Forgery의 약자로서, 유저가 브라우저에 로그인된 상태에서 원치 않은 액션을 실행시키도록 브라우저를 속이는 것이다. 해커가 로그인한 유저의 동의없이 실행시키도록 만들 수 있다. CSRF 공격에서 해커는 응답에 접근할 수 없기 때문에 데이터에도 접근할 수가 없다. 또한 해커가 유저에게 은행 웹사이트에서 자금을 이전하거나 민감한 정보를 공유하도록 강요할 수 있기에 파괴적일 수 있다. How does CSRF work? CSRF 공격을 실시하기 위해서는 몇 가지 조건이 충족되어야 한다. Cookie-based session handling : 유저는 이미 웹사이트에 로그인되어 있는 상태로 공격을 당하..
-
Cross-site Scripting Attack (XSS)concept/server 2020. 11. 1. 20:02
educative 를 요약한 자료입니다. What is a Cross-site Scripting attack? xss 공격은 악성 스크립트가 웹사이트에 주입된 공격의 한 종류 유저가 해당 웹사이트에 접속한 경우 악성 스크립트가 실행되고 해커는 유저의 브라우저로부터 기밀 정보를 가지고 간다. 이 공격은 유저가 어떤 정보를 입력하고 그 정보를 데이터베이스에 저장할 수 있는 웹사이트를 대상으로 한다. Types of Cross-site Scripting Attack 1. Stored Cross-site Scripting Attack 해커는 입력하는 칸 (input box)에 악성 코드를 입력하고, 그 코드는 웹 사이트의 데이터베이스에 저장될 것이다. 그리고나서 유저가 이 웹사이트를 열면 악성 스크립트가 담긴 ..
-
DOM 조작하기concept/HTML, CSS, DOM 2020. 10. 11. 21:00
CREATE createDocumentFragment() createDocumentFragment() 메소드는 기존 document 객체에 비해 비교적 "가벼운" 임시 Node 객체를 만들어 줍니다. 즉, 가벼운 document 객체를 임시로 하나 만드는 것입니다. 이후 DocumentFragment 객체에 추가하고 싶은 작업을 진행을 한 번에 진짜 document에 추가할 수 있습니다. // codestates라는 텍스트가 담긴 div 생성 let codestates = document.createElement('div'); codestates.textContent = 'codestates'; // 가상의 document 생성 let fragment = document.createDocumentFrag..
-
DOM 이해하기concept/HTML, CSS, DOM 2020. 10. 9. 22:19
DOM과 자바스크립트의 차이 DOM은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당합니다. 자바스크립트가 DOM을 통해서 웹페이지에 접근할 수 있습니다. 웹 페이지는 일종의 문서(document)입니다. DOM 은 동일한 문서를 표현하고, 저장하고, 조작하는 방법을 제공합니다. 자바스크립트와 같은 스크립팅 언어를 이용해 DOM 을 수정 가능합니다. 이 차이에 대해서 조금 더 깊게 알아보고 싶다면 해당 문서를 통해서 공부해보시면 좋겠습니다. 부모 엘리먼트를 찾는 방법 Element.closest() MDN 링크 : 기준 Element 에서부터 closest() 메소드를 통해 자신부터 부모 요소 단위로 출발하여 설정해 준 선택자에 만족할 때까지 탐색합니다. (doc..
-