IT/웹 5

[Node.js와 Session] Session을 이용한 인증 구현 (생활코딩 강의 기반)

✅ 이 실습을 통해 우리가 만드려는 것은 Session 방식을 이용해 로그인과 회원가입 등 인증 기능이 있는 웹사이트입니다. 사용자가 브라우저를 통해 서버에 접속하면서, 브라우저는 쿠키를 서버로 전송한다. 서버 컴퓨터에는 이러한 쿠키들이 session으로서 저장되고, 사용자에게는 단지 식별자 (= Session ID) 쿠키만이 저장된다. Q. 왜 Cookie가 아니라 Session을 사용하나? A. Cookie를 통한 인증은, 가능은 하지만, 보안 상의 문제가 크다. (클라이언트 쪽에 ID와 PW 쿠키가 있으므로) ✅ 디렉토리 구성과 주요 코드 설명 // 주석은 크게 나뉘어진 단계이고, //// 주석은 해당 코드에 대한 자세한 설명입니다. authFunctions.js module.exports = { ..

IT/웹 2024.02.01

[Node.js와 Cookie] Cookie의 생성, 읽기, 활용 (생활코딩 강의 기반)

요청과 응답으로만 의사소통했던 웹은 쿠키의 등장으로써 이전의 통신 내용을 기억할 수 있게 되었고, 이 덕분에 개인화나 인증 등이 가능해졌습니다. 이 글에서는 쿠키를 생성하는 법, 읽는 법, 그리고 쿠키가 실제로 어떻게 활용되는지를 공부하도록 하겠습니다. ✅ 실습 파일과 코드 설명 // 주석은 크게 나뉘어진 단계이고, //// 주석은 해당 코드에 대한 자세한 설명입니다. var http = require('http'); var cookie = require('cookie'); var count = 0; //// 단지 확인용... 아래의 createServer가 몇회 째 실행되는건지 체크 http.createServer(function(request, response){ count += 1; console...

IT/웹 2024.01.28

[Node.js를 통한 동적 웹사이트 구현 <2>] 사용자도 생성/업데이트/삭제가 가능해졌다..!! with Express (생활코딩 강의 기반)

지난 글 ([Node.js를 통한 동적 웹사이트 구현 ] 중복되는 부분을 template으로! (생활코딩 강의 기반))에서는 동적 웹사이트 구현을 시작해봤었습니다. (아직 사용자의 참여는 불가능) 👇 [Node.js를 통한 동적 웹사이트 구현 ] 중복되는 부분을 template으로! (생활코딩 강의 기반) :: kyagile (tistory.com) ✅ 이 실습을 통해 우리가 만드려는 웹사이트는 이전 글에서 구현한 웹사이트 위에 추가적으로, 서버 운영자가 아닌 일반 사용자도 컨텐츠(가 담긴 웹페이지)의 생성, 업데이트, 삭제가 가능하게끔 합니다. 다만 이전 글에서와 달리 express를 활용합니다. ✅ 디렉토리 구성하기 아래와 같이 디렉토리를 구성하면 됩니다. ✅ main.js, index.js, top..

IT/웹 2024.01.24

[Node.js를 통한 동적 웹사이트 구현 <1>] 중복되는 부분을 template으로! (생활코딩 강의 기반)

지난 글 ([웹서버/웹사이트, 웹클라이언트 실습] with HTML, Disqus, Tawk.to (생활코딩 강의 기반))에서는정적 웹사이트를 구현해봤었습니다. 👇 [웹서버/웹사이트, 웹클라이언트 실습] with HTML, Disqus, Tawk.to (생활코딩 강의 기반) :: kyagile (tistory.com) ✅ 정적 웹사이트의 한계 수동적, 반복적 정적 웹사이트에서는 각 페이지의 구현을 위해서 각각의 html 파일이 필요하였고, 이 방식에서는, 페이지들끼리 겹치고 반복되는 부분이 있더라도, 하나로 묶지 못했습니다. 따라서, 새로 넣을 페이지가 이전 페이지들과 유사하더라도, 여전히 처음부터 끝까지 html 파일을 다시 작성해야 했고, 혹여 어느 부분을 조금이라도 수정하고 싶다면, 모든 html의..

IT/웹 2024.01.19

[웹서버/웹사이트, 웹클라이언트 실습] with HTML, Disqus, Tawk.to (생활코딩 강의 기반)

이 글은 생활코딩의 WEB1 - HTML & Internet 강의 내용을 제 나름의 구조로 재구성한 것이며, 사용하는 에디터는 VSCode입니다. 1. 인터넷의 기본 구조: 서버와 클라이언트 인터넷이라는 것이 동작하기 위해서는, 최소한 서버 1대와 클라이언트 1대가 필요합니다. 서버 컴퓨터에는 웹서버 프로그램 (eg. Apache, Nginx, ...)이, 클라이언트 컴퓨터에는 웹브라우저 프로그램 (eg. Chrome, Edge, Safari, ...)이 설치돼 있어야 합니다. 서버 컴퓨터에는 어떤 주소 (여기서는 info.cern.ch라 하겠습니다.)가 부여되어 있고, 컴퓨터 어딘가에 index.html이라는 파일이 저장돼 있습니다. 이런 상황에서 우리는 "인터넷"을 이용해, 클라이언트 컴퓨터에서도 서..

IT/웹 2024.01.17