분류 전체보기126 Session & Session-based Authentication 의 동작 과정 📌 Session ? 클라이언트가 서버에 data 를 저장할 수 있는 방법 중 하나로, 특정 저장 공간을 의미한다. session 은 특별한 경우가 아니라면 사용자가 웹 브라우저를 접속한 시점부터 종료하는 시점까지 유지된다. 📌 Session-based Authentication 동작 과정 ? 📎 express-session 모듈 // express-session 모듈 const express = require('express'); const session = require('express-session'); const app = express(); app.use( session({ secret: , resave: , saveUninitialized: , . . . cookie: { domain: , p.. 2021. 11. 25. Cross-Site Scripting ( XSS ) 공격 📌 XSS ? Cross-site Scripting 의 약자이며, 웹 상에서 일어나는 기초적인 공격 방법의 일종. 악의적인 사용자가 공격하려는 사이트에 script 를 넣는 기법을 말한다. ( script의 형태는 다양하다 ) 보통 사이트에 접속한 사용자의 쿠키나 세션, 토큰 등 민감한 정보를 탈취하는 데 사용된다. ◾ Stored XSS ( Persistent XSS ) 저장형 XSS 공격 ( 지속형 XSS 공격 ) 일시적으로 공격하는 것이 아니라 지속적으로 피해를 입히는 XSS 공격을 말한다. 해커가 삽입한 script 가 DB에 저장되어, 악성 코드가 삽입된 웹 페이지를 본 사용자들에게 지속적으로 공격이 가해진다. 사용자가 입력한 값이 DB에 저장되고, 저장된 그대로 클라이언트 단에 보여질 때 이 .. 2021. 11. 24. Cookie 와 Cookie options (Set-Cookie) 📌 Cookie ? 서버에서 클라이언트에 data 를 저장할 수 있는 방법 중 하나로, 작은 크기의 문자열을 말한다. 서버에서 클라이언트에 cookie 를 전송할 수도 있고, 클라이언트에서 서버로 cookie 를 전송할 수도 있다. -> cookie 를 이용해 데이터를 저장하고, 원할 때 불러와 다시 사용할 수 있다. ◾ Cookie 형식 = 쿠키는 name=value 쌍으로 정보를 저장한다. 📌 Cookie Options ? 서버가 클라이언트에 cookie 로 데이터를 저장하는 건 맘대로 할 수 있지만 역으로 클라이언트에서 서버로 다시 불러오는 건, 지정된 조건을 만족할 때만 가능하다. cookie에 데이터를 저장하면서 원하는 조건을 지정해줄 수 있다 ( 조건 설정은 option임 ). ✔ Expire.. 2021. 11. 23. __filename , __dirname 📍 __filename 현재 실행 중인 파일 경로 📍 __dirname 현재 실행 중인 폴더 경로 2021. 11. 20. CommonJS 와 ES(6) 모듈 키워드 ( require vs import ) 차이 📍 공부하게 된 계기 require 와 import 의 차이가 궁금해서 파보다가 ... CommonJS 와 ECMAScript 까지 살펴보게 되었다. 하면서 느낀거지만, 자바스크립트를 사랑하는 개발자가 많은 것 같다. 자바스크립트의 무한한 잠재력에 놀라면서도, 그걸 확장시키는 개발자들이 있기에 내가 이렇게 편하게 코딩을 할 수 있는 게 아닌가 싶다 ㅎ 📌 CommonJS 자바스크립트 언어의 활동 영역을 더 넓히기 위해 조직된 그룹이다. 브라우저 이외에도 ✔ Server-side JS applications ✔ CLI tools ✔ Desktop GUI-based applications ✔ Hybrid applications 등 다양한 어플리케이션에 자바스크립트 언어가 쓰일 수 있도록 표준화된 라이브러리를.. 2021. 11. 14. .env 파일 관리부터 dotenv & DB랑 NodeJS 연결하기 📌 .env 파일 ?-? " 환경 변수 파일 " 을 의미한다. 이 파일은, 애플리케이션이 실행될 때 넘기고 싶은 특정 값을 담고 있는 변수가 기록되어 있다. 미리 정의된 값을 애플리케이션에서 활용하고 싶을 때 이 .env 파일을 활용한다. 📂 .env // .env 파일 // DB에 접속하기 위해 필요한 username과 password와 dbname을 변수에 차례차례 담아줬다. DATABASE_USERNAME='lee' DATABASE_PASSWORD=1234 DATABASE_NAME='learnsql' // .env 파일 // local URI 와 test server를 위한 URI, id와 비밀번호 등등 다양한 방식으로 담아둘 수 있다. REACT_APP_LOCAL_URI=http://localho.. 2021. 11. 13. GCD (최대 공약수) & LCM (최소 공배수) & 유클리드 호제법 📍 GCD : Greatest Common Divisor : 최대 공약수 📍 LCM : Least Common Multiple : 최대 공배수 📌 유클리드 호제법 ? 유클리드 호제법은 두 양의 정수 간의 최대 공약수를 구할 수 있는 방법이다. 단, a 가 b 보다 항상 크다는 전제가 있어야 성립한다. -> 당연한 이야기인게, a = bq + r 공식에서 이미 b는 a의 약수로 속해 있다. a = bq + r 식은 a와 b 간의 관계를 정의한 식이다. -> a가 b 보다 크다면, b*q 값과 어떤 나머지 정수가 더해져 a를 완성할 것이다. 여기서 나머지 값(r) 이 0이게 되면 a와 b 사이에서는 b가 가장 큰 최대 공약수가 되는 것이다 ! 만약 r이 0이 아니라면 ? r은 b와 어떤 정수 q의 곱으로 a.. 2021. 11. 10. Redux 3가지 원칙 정리 📍 The truth comes from one source App의 모든 상태는 하나의 저장소에 객체 트리 구조로 저장된다. console.log(store.getState()); /* * { * visibilityFilter: 'SHOW_ALL', * todos: [{ * text: 'Consider using Redux', * completed: true, * }, { *text: 'Keep all state in a single tree', * completed: false * }] * } */ 📍 State is read-only 상태 변경은, 액션 객체(어떤 상태 변화가 일어나야하는 지 기술된 객체)를 통해서만 일어난다. store.dispatch(action: Object) store.dis.. 2021. 11. 4. Preflight Request : HTTP Message 를 통한 header 공부 📍 HTTP message 를 살펴보기 전, Method 와 Header 그리고 CORS 정책을 짚고 넘어가면 좋다. 2021.09.10 - [개발 공부/Browser] - Client - Server : SOP와 CORS Client - Server : SOP와 CORS 📌 SOP? (Same Origin Policy) 동일 출처 정책으로, 하나의 Origin에서 로드된 문서나 스크립트가 다른 Origin의 자원과 상호작용하지 못하도록 제한하는 것. 여기서 말하는 Origin은 아래 3가지 요소를 조합 code-designer.tistory.com 📌 Preflight Request ◾ HTTP Request : Preflight ✔ Access-Control-Request-Method : Access.. 2021. 10. 27. 이전 1 2 3 4 5 6 7 8 ··· 14 다음